Forum Doku Wiki Blog

Forumsarchiv 2008, Februar
Python - Mailversand - Umlaute/Sonderzeichen

archivierte Beiträge lesen

  1. (SERVER) Python - Mailversand - Umlaute/Sonderzeichen von Daniel_t, 13. 02. 2008, 12:19

Python - Mailversand - Umlaute/Sonderzeichen

Der folgende Beitrag wurde am 13. 02. 2008, 12:19 Uhr von Daniel_t veröffentlicht.

Hi ihr,

Ich versuch nun seit einiger Zeit mit Python ein Mail zu versenden, und müh mich mit Sonderzeichen/Umlauten, dem Charset ab.
Python muss ich verwenden bzw bestehende Skripte, und selber ists mir aber leider nicht so geläufig.

Ich hab folgendes Testskript:

###############
from mod_python import apache
import smtplib

fromaddr = "mail@mail.at"
toaddr = "mail@mail.at"
subject = "TestMailing"
header = "From: %s\r\nTo: %s\r\nSubject: %s\r\n\r\n" % (fromaddr, toaddr, subject)
text = "Das ist meine Testmail mit den Ümläüten öäü ??ßß"

msg = header + text

server = smtplib.SMTP('localhost')
server.sendmail(toaddr, fromaddr, msg)
server.close()
############
Eingebedet ist das in eine Simple HTML und gespeichert als test.psp

Die Umlaute kommen fast natürlich falsch an. Aber wie kann ich hier ein Charset setzen?
Das Ganze läuft auf einem RedHat mit Apache2, wo Sonderzeichen über das Putty usw nirgends ein Problem darstellen.

Hoffe auf Hilfe, verzweifle schon :/
Baba Daniel

Python - Mailversand - Umlaute/Sonderzeichen

Der folgende Beitrag wurde am 13. 02. 2008, 13:43 Uhr von Daniel_t veröffentlicht.

Wollte noch anfügen, dass wenn ich mit

req.write(msg)

den Text ausgeb, dass die Sonderzeichen richtig angezeigt werden.

lg Daniel

Python - Mailversand - Umlaute/Sonderzeichen

Der folgende Beitrag wurde am 13. 02. 2008, 14:48 Uhr von dedlfix veröffentlicht.

echo $begrüßung;

> Ich versuch nun seit einiger Zeit mit Python ein Mail zu versenden, und müh mich mit Sonderzeichen/Umlauten, dem Charset ab.
> Die Umlaute kommen fast natürlich falsch an. Aber wie kann ich hier ein Charset setzen?

Genauso wie bei anderen Programmiersprachen auch, das ist kein Python-spezifisches Problem. Umlaute und deren Kodierung sind vom Kontext abhängig. Bei Mail ist zum einen der Body, dessen Inhalt und Kodierung dem Empfänger mit dem Content-Type-Header angezeigt wird. Hier muss einfach nur die Angabe der tatsächlichen Kodierung des Inhalts entsprechen. Zum anderen werden Umlaute im Subject anders kodiert. Siehe http://www.paefken.westfalen.de/de.newusers/umlaute-faq.txt. Das Python-Modul email bietet Unterstützung an, um die Daten Email-gerecht aufzubereiten.


echo "$verabschiedung $name";

Python - Mailversand - Umlaute/Sonderzeichen

Der folgende Beitrag wurde am 15. 02. 2008, 10:06 Uhr von Daniel_t veröffentlicht.

Super danke! Ich hab dauernd gedacht, das Problem liegt am Python, dabei wurde die Mail nur nicht richtig im Client dargestellt.

Mit einem richtigen Content-Type funktionierts!

Danke

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4