Tach,
ich möchte aus Python Emails verschicken. Das klappt auch, allerdings werden Umlaute etc. nicht korrekt dargestellt.
Nach ein bisschen Recherche habe ich herausgefunden, dass man den Charset im Header angeben muss, und dies getrennt für Subject und eigentlich Text. Ist das so richtig?
Kann mir jemand für das folgende Script einen Tipp geben, wie ich das übergebe? Wie Ihr seht, hab ich schon paar Sachen ausprobiert, aber erfolglos...
Die Dokumentation von email.mime.text scheint zwar sehr detailliert zu sein, aber leider fehlen dort Beispiele, die ich als Anfänger doch so dringend brauche...
Schon mal herzlichen Dank für Eure Hilfe!!
#!/usr/bin/python
# -*- coding: utf-8 -*-
import smtplib
from email.mime.text import MIMEText
umlautstring="Text mit Umlauten ÖöÄäÜüß"
print umlautstring.encode('latin-1')
Empfaenger = 'xxxx@yyy.zz'
Absender = 'zzzz@yyy.zz'
Passwort = '***'
smtpserver = smtplib.SMTP('smtp.mail.yahoo.com', 587)
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.ehlo
smtpserver.login(Absender, Passwort)
msg = MIMEText(inhalt.encode("latin-1"), _charset="latin-1")
msg['Subject'] = umlautstring.encode('latin-1')
msg['From'] = Absender
msg['To'] = Empfaenger
smtpserver.sendmail(Absender, [Empfaenger], msg.as_string())
smtpserver.quit()
Alles anzeigen
Achso, der eigentliche Text kommt aus einer Website und wird dort über requests ausgelesen, falls das relevant ist...