Python smtplib multipart email body nicht auf iphone zeigen

Ich versuche, eine E-Mail mit einem Bild mit smtplib in Python zu senden. Die E-Mail zeigt sich auf meinem Desktop und auf der iPhone Gmail App, aber auf der Standard-iPhone Mail App wird der Körper nicht angezeigt. Hier ist mein Code:

def send_html_email(self, subject, html, to_email,from_email, password, from_name, image=None): msg = MIMEMultipart('alternative') msg['From'] = from_name msg['To'] = to_email msg['Subject'] = subject html_message = MIMEText(html, "html") msg.attach(html_message) if image: msgImage = MIMEImage(image) msgImage.add_header('Content-ID', '<image1>') msg.attach(msgImage) session = smtplib.SMTP("smtp.gmail.com:587") session.starttls() session.login(from_email, password) session.sendmail(from_email, to_email, msg.as_string().encode('utf-8')) session.quit() 

Es scheint, dass, wenn ich nicht ein Bild hinzufügen, die E-Mails gut mit dem Körper. Irgendwelche Ideen, wie man es auch mit dem Bild funktioniert?

One Solution collect form web for “Python smtplib multipart email body nicht auf iphone zeigen”

Das scheint zu funktionieren:

 def send_html_email(self, subject, html, to_email, from_email, password, from_name, image=None): msgRoot = MIMEMultipart('related') msgRoot['From'] = from_name msgRoot['To'] = to_email msgRoot['Subject'] = subject msg = MIMEMultipart('alternative') msgRoot.attach(msg) html_message = MIMEText(html, "html") msg.attach(html_message) if image: msgImage = MIMEImage(image) msgImage.add_header('Content-ID', '<image1>') msgRoot.attach(msgImage) session = smtplib.SMTP("smtp.gmail.com:587") session.starttls() session.login(from_email, password) session.sendmail(from_email, to_email, msgRoot.as_string().encode('utf-8')) session.quit() 
  • Python & smtplib: Sendung per Mail über Google Mail mit oauth2 möglich?
  • Python smtp gmail authentifizierungsfehler (sendung von email über gmail smtp server)
  • So senden Sie E-Mail an mehrere Empfänger mit python smtplib?
  • Sendmail Errno [61] Verbindung abgelehnt
  • Kann keine E-Mail mit python senden
  • Smtplib sendet leere Nachricht, wenn die Nachricht bestimmte Zeichen enthält
  • Mail mit python senden
  • Outlook 2010 und Python email smtplib - Info in den richtigen Feldern
  • Hotmail SSL3 Versionsnummer Fehler mit smtp
  • Python 3 smtplib mit Unicode-Zeichen senden
  • Python Variable in einer HTML-E-Mail in Python
  • Python ist die beste Programmiersprache der Welt.