Seite 1 von 1

Automatische Codec-Erkennung für Mailprogramm ?

Verfasst: Mittwoch 10. Januar 2007, 21:00
von snakeseven
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

Verfasst: Mittwoch 10. Januar 2007, 21:37
von Luzandro
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

Verfasst: Mittwoch 10. Januar 2007, 22:11
von snakeseven
Ja, das habe ich getan ("UTF-8"), aber nicht jeder versteht das. ISO-8859-1 scheint immer noch am verbreitetsten !?

Gruss, Seven

Verfasst: Mittwoch 10. Januar 2007, 22:23
von birkenfeld
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.

Verfasst: Mittwoch 10. Januar 2007, 22:56
von snakeseven
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()

Verfasst: Mittwoch 10. Januar 2007, 23:29
von 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.