Der Martin: Content-Transfer-Encoding - Mail

Beitrag lesen

Hallo,

bin gerade über den Mailheader "Content-Transfer-Encoding" in meinem eigenen Script gestolpert :D.

faszinierend, was man selbst schon so alles verwendet hat, stimmt's? ;-)

Zitat:

Na jetzt wirds etwas komplizierter im Grunde genommen gibt dieser Wert an WAS überhaupt ein "Zeichen" ist,wenn man mit einer "LUPE" auf die Telefonleitung sehen würde,würde da ja kein lesbarer Text übertragen,sondern 1000100001100011111110000111110000111110 so,irgendwie muss der Browser jetzt wissen wie "Groß" ein Zeichen ist.

Das ist kompletter Quatsch.
Prinzipiell ist die Übermittlung von e-Mails textbasiert. Historisch bedingt muss man aber immer noch einkalkulieren, dass es alte Systeme auf dem Übertragungsweg gibt, die nur mit 7bit-Daten umgehen können. Deswegen kann es problematisch sein, die Daten in "Rohform", also mit "Content-Transfer-Encoding: 8bit" zu senden.
Um dieses potentielle Problem zu umgehen, codiert man den Nachrichteninhalt gern so um, dass nur noch ASCII-Zeichen vorkommen. Dazu gibt es die beiden Varianten Quoted-Printable und base64.

Quoted-Printable legt fest, dass
 a) alle Bytewerte >0x7F als '='-Zeichen gefolgt vom hexadezimalen Wert des Bytes notiert werden
 b) ein im Text vorkommendes '='-Zeichen ebenfalls nach Regel a) notiert wird, also als =3D
 c) ein '=' am Zeilenende bedeutet, dass der Zeilenumbruch selbst nicht Teil der Message ist.
Dagegen ist base64 ein unspezifischer Rundumschlag; hier werden *alle* Bytes umcodiert.

Soweit alles verstanden. Meine Frage ist ob ich das immer angeben muss?

Nein. AFAIK gilt der Defaultwert "8bit", wenn die Angabe fehlt.

Meine Mails werden als UTF8 verschickt. Wenn ja welchen Wert hat "Content-Transfer-Encoding"?

Whatever you say. Ich würde "Quoted-Printable" empfehlen, meist geht aber "8bit" auch gut.

Bei mir hat er aktuell "quoted-printable" und das führt dazu dass Zeichen wie "=" nicht dargestellt werden.

Dieses Zeichen ist das Escape-Zeichen in "Quoted-Printable" und muss daher selbst escapet werden. Siehe oben.

Jetzt alle larheiten beseitigt? :-)

Ciao,
 Martin

--
Treffen sich zwei Holzwürmer im Käse: "Na, auch Probleme mit den Zähnen?"
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(