Automatische Codec-Erkennung für Mailprogramm ?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
snakeseven
User
Beiträge: 408
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Hi,
Mein kleiner Mailer versendet Mails als UTF-8. Die meisten Mailclients kommen damit auch klar, einige aber eben nicht. Deshalb die Frage:
Gibt es beim Mailen die Möglichkeit eines "Handshaking" oder Call & Response, wo die beteiligten Clients sich vorab verständigen, welcher Codec benötigt wird ?

Gruss,
Seven
Benutzeravatar
Luzandro
User
Beiträge: 87
Registriert: Freitag 21. April 2006, 17:03

Mail ist ein asynchrones Kommunikationsmittel, da wird es mit einem Handshake schwer werden.. Man kann aber im Header beim Content-Type ein charset angeben, was der Client dann hoffentlich versteht
[url=http://www.leckse.net/artikel/meta/profilieren]Profilieren im Netz leicht gemacht[/url]
snakeseven
User
Beiträge: 408
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Ja, das habe ich getan ("UTF-8"), aber nicht jeder versteht das. ISO-8859-1 scheint immer noch am verbreitetsten !?

Gruss, Seven
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Mailprogramme, die damit nicht zurechtkommen, würde ich unter "Schrott" einordnen. Ordentliches Charsethandling und Unicodesupport gehören heutzutage zum Mindesten, was ein Programm, das mit Text umgeht, beherrschen muss.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
snakeseven
User
Beiträge: 408
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Ja, da stimme ich dir zu :!:
Jetzt aber noch eine Frage zum Versenden als "iso-8859-1":

Wenn ich über GMX eine Mail versende, steht im Header charset="iso-8859-1" und 'Content-Transfer-Encoding: 8bit'.
Wenn ich mit meinem Mailer eine Mail als "iso-8859-1" verschicke, steht da 'Content-Transfer-Encoding: quoted-printable'.
Ist das egal und wenn nicht, was ist kompatibeler, '8bit' oder 'quoted-printable' ?
Und, wie bekomme ich es notfalls hin, iso-8859-1 als 8bit zu versenden ?

Gruss, Seven

Mein Mailer:

Code: Alles auswählen

#msg = MIMEText(_text = mailtext, _subtype = "plain",  _charset = "utf-8") 
msg = MIMEText(_text = mailtext, _subtype = "plain",  _charset = "iso-8859-1")
msg['From'] = absender
msg['To'] = empfaenger
msg['Subject'] = 'lalala'

smtp_server = smtplib.SMTP('server')
smtp_server.login('login,'password')
smtp_server.sendmail(msg['From'], msg['To'], msg.as_string())
smtp_server.quit()
BlackJack

Quoted-Printable ist kompatibler. Nach RFC sind in Mails nur 7-Bit-ASCII-Zeichen erlaubt. Es gibt zwar wohl kaum noch Mailserver oder MTAs die mit 8-Bit Probleme haben, aber man kann ja nie wissen.

Ein Mail-Client der nicht mit Quoted-Printable ist mir auch noch nicht untergekommen. Ist ja auch total simpel zu unterstützen.
Antworten