Seite 1 von 1

Umlaute in E-Mail-Body mit email und smtplib

Verfasst: Montag 1. Oktober 2007, 13:49
von feuervogel
Hallo,

ich möchte ganz simpel eine E-Mail verschicken, die im Body Umlaute enthält. Ich durchwühle jetzt seit 2 Stunden halb google und bin noch nicht fündig geworden...

Code: Alles auswählen

# -*- coding: utf-8 -*-

from smtplib import *
from email import *

s = SMTP("mail.b.c")
s.login("a@b.c","xxx")
        
msg = message.Message()
msg.set_charset("utf-8")
msg['Content-type'] = 'text/plain; charset=utf-8'
msg['Content-transfer-encoding'] = '8bit'
msg['From'] = "J <a@b.c>"
msg['Subject'] = "umlaute ö"
msg.set_payload("test ä",charset="utf-8")

msg['To'] = "M <d@e.f>"

s.sendmail(msg['From'],msg['To'],msg.as_string())
ich hab keine ahnung, wieso im header (also im subject) die umlaute richtig angezeigt werden, im payload (also im body) nicht!?!

eigentlich ist das teil eines django-moduls, da kommen die inhalte aus einer datenbank (klaro) und es wird sogar eine exception geworfen:

'ascii' codec can't encode characters in position 4-6: ordinal not in range(128)

Allerdings auch nur bei Umlauten im Body der E-Mail.

Re: Umlaute in E-Mail-Body mit email und smtplib

Verfasst: Montag 1. Oktober 2007, 14:07
von gerold
feuervogel hat geschrieben:ich möchte ganz simpel eine E-Mail verschicken, die im Body Umlaute enthält.
Hallo feuervogel!

Vielleicht kannst du daraus Nutzen ziehen:
http://www.python-forum.de/topic-3158.html

mfg
Gerold
:-)

Re: Umlaute in E-Mail-Body mit email und smtplib

Verfasst: Montag 1. Oktober 2007, 14:22
von feuervogel
gerold hat geschrieben:
feuervogel hat geschrieben:ich möchte ganz simpel eine E-Mail verschicken, die im Body Umlaute enthält.
Hallo feuervogel!

Vielleicht kannst du daraus Nutzen ziehen:
http://www.python-forum.de/topic-3158.html

mfg
Gerold
:-)
Das hatte ich mir zwar schon mal angeschaut, aber ja, jetzt hab ich die Lösung.

Ersetze

msg = message.Message()

mit

msg = MIMEText("döner","utf-8")

und es funktioniert...