Sie können die email.message.Message -Klasse verwenden und verwenden es um Mime-Header zu generieren, einschließlich from:
, to:
und subject
. Senden Sie das as_string()
-Ergebnis über SMTP.
Der "Absender", den Sie in diesem Fall angeben, ist der Absender des Umschlags, der an den SMTP-Server übergeben wird.
Was Ihr MUA (Mail User Agent - also Outlook / Thunderbird etc.) Ihnen anzeigt, ist der Header "From:".
Normalerweise, wenn ich smtplib verwende, würde ich die Header separat kompilieren:
%Vor% Das Format des From-Headers ist normalerweise nach Konvention "Name" <user@domain>
Sie sollten auch einen "Message-Id" Header und einen "Reply-To" Header in allen Kommunikationen enthalten. Vor allem, da Spam-Filter den Mangel daran als eine große Wahrscheinlichkeit auffassen können, dass die Post Spam ist.
Wenn Sie Ihren Mail-Text im Variablenhauptteil haben, kompilieren Sie einfach die gesamte Nachricht mit:
%Vor%Beachten Sie den doppelten Zeilenumbruch am Ende der Header. Es ist auch erwähnenswert, dass SMTP-Server Header nur mit Newlines (d. H. LF - linfeed) trennen sollten. Ich habe jedoch einen Windows SMTP-Server oder zwei gesehen, die \ r \ n (d. H. CRLF) verwenden. Wenn Sie Windows verwenden, YMMV.