Wie kann ich den HTML-Inhalt mit Python in einer E-Mail senden? Ich kann einfachen Text senden.
python
email
html-email
Peter Mortensen
quelle
quelle
Antworten:
Aus der Python v2.7.14-Dokumentation - 18.1.11. E-Mail: Beispiele :
quelle
quit
am Ende dass
Objekt hast . Was ist, wenn ich mehrere Nachrichten senden möchte? Sollte ich jedes Mal beenden, wenn ich die Nachricht sende, oder sie alle senden (in einer for-Schleife) und dann ein für alle Mal beenden?# According to RFC 2046, the last part of a multipart message, in this case # the HTML message, is best and preferred.
Ich wünschte, ich hätte dies vor 2 Stunden gelesenSie könnten versuchen, meine zu verwenden Mailer- Modul zu verwenden.
quelle
use_tls=True
,usr='email'
undpwd='password'
bei der InitialisierungMailer
wird es funktionieren.message.Body = """Some text to show when the client cannot show HTML emails"""
Hier ist eine Google Mail- Implementierung der akzeptierten Antwort:
quelle
Hier ist eine einfache Möglichkeit, eine HTML-E-Mail zu senden, indem Sie den Content-Type-Header als 'text / html' angeben:
quelle
smtplib.SMTP()
Beispiel beziehen , das keine tls verwendet. Ich habe dies für ein internes Skript bei der Arbeit verwendet, bei dem wir ssmtp und einen lokalen Mailhub verwenden. Auch dieses Beispiel fehlts.quit()
.Hier ist Beispielcode. Dies ist inspiriert von Code auf der Python Cookbook- Website (der genaue Link kann nicht gefunden werden).
quelle
Verbessern Sie für Python3 die Antwort von @taltman :
email.message.EmailMessage
anstelle vonemail.message.Message
, um E-Mails zu erstellen.email.set_content
func, weisesubtype='html'
argument zu. anstelle von Low-Level-Funktionset_payload
und Header manuell hinzufügen.SMTP.send_message
func anstelle vonSMTP.sendmail
func, um E-Mails zu senden.with
Block, um die Verbindung automatisch zu schließen.quelle
Eigentlich hat yagmail einen etwas anderen Ansatz gewählt.
Es wird standardmäßig senden HTML, mit automatischem Rückfall für unfähig E - Mail-Leser. Es ist nicht mehr das 17. Jahrhundert.
Natürlich kann es überschrieben werden, aber hier geht's:
Installationsanweisungen und viele weitere großartige Funktionen finden Sie im Github .
quelle
Hier ist ein funktionierendes Beispiel zum Senden von Nur-Text- und HTML-E-Mails von Python mit
smtplib
zusammen mit den CC- und BCC-Optionen.https://varunver.wordpress.com/2017/01/26/python-smtplib-send-plaintext-and-html-emails/
quelle
Hier ist meine Antwort für AWS mit boto3
quelle
Einfachste Lösung zum Senden von E-Mails von einem Organisationskonto in Office 365:
quelle