Re: [Python-de] Deutsche email in Python3
On Wed, 15 Aug 2012 13:43:30 +0200, Christopher Arndt wrote:
On 15.08.2012 13:05, Helmut Jarausch wrote:
Leider nein (das war mein erster Versuch). Dann gibt's
UnicodeEncodeError: 'ascii' codec can't encode character '\xfc' in position 9: ordinal not in range(128) server.quit()
Ehrlich gesagt, habe ich nicht mit SMTP.send_message() getestet, sondern nur mit msg.as_string(). Probier doch mal:
server.sendmail(fromaddr, toaddrs, msg.as_string())
Das hat auch nicht geklappt>
Und nochmal: bist du dir sicher, dass dein Quelltext mit richtigem (in deinem Fall: ISO-8859-1) Encoding gespeichert ist?
Ja, denn ich benutze den alten Editor NEdit, der noch mit dem Motif widget set arbeitet. Und dieses kann UTF-8 gar nicht. Danke, Helmut.
On 15.08.2012 14:11, Helmut Jarausch wrote:
On Wed, 15 Aug 2012 13:43:30 +0200, Christopher Arndt wrote:
server.sendmail(fromaddr, toaddrs, msg.as_string())
Das hat auch nicht geklappt>
Hast recht. Dieses Skript klappt bei mir, allerdings wird der Payload dann mit Content-Tranfer-Encoding: base64 übertragen. Beachte die zusätzliche Umwandlung nach bytes in sendmail(): #!/usr/bin/python3 # -*- coding: utf-8 -*- import smtplib from email.message import Message from datetime import datetime msg= Message() # mit folgender Zeile ist das Encoding falsch # und der E-Mailclient zeigt nur Zeichenmüll #msg.set_charset("utf-8") msg['Subject'] = "*** Email Test ***" msg['From'] = fromaddr = "jim@doe.com" msg['To'] = toaddr = "joe@doe.com" msg['Date'] = datetime.utcnow().strftime('%m/%d/%Y %I:%M:%S %p') msg.set_payload("Gedanken über einen Test", "utf-8") server= smtplib.SMTP("smtp@doe.com") server.starttls() server.login("joe@doe.com", "secret") server.sendmail(fromaddr, toaddr, msg.as_string().encode("utf-8"))
Ja, denn ich benutze den alten Editor NEdit, der noch mit dem Motif widget set arbeitet. Und dieses kann UTF-8 gar nicht.
Ich empfehle: http://www.geany.org/ Chris
participants (2)
-
Christopher Arndt
-
Helmut Jarausch