Der Martin: Sonderzeichen korrekt übertragen

Beitrag lesen

Hallo,

$header= "Content-Type: text/plain; charset=utf-8;\n
FROM:".$_SESSION['email']."\n";

Nun werden die Schriftzeichen (ß ä ö ü) korrrekt angezeigt, allerdings wird die eMail Adresse nicht mehr dem HEADER übergeben, sondern steht in der ersten Zeile der eMail.

richtig, weil zwei(!) aufeinanderfolgende Zeilenumbrüche in einer Mailnachricht das Ende des Headerbereichs bzw. den Beginn des Nachrichtenrumpfs markieren.
Und du *hast* in deinem Codeauszug zwei Zeilenumbrüche: Einer wird durch das \n dargestellt, und der zweite durch die neue Zeile im Quellcode.

Übrigens legt RFC 2822 fest, dass der Zeilenumbruch mit der Kombination CR+LF, also \r\n dargestellt wird. Die meisten MTAs akzeptieren zwar auch ein einfaches Linefeed, aber verlassen darf man sich nicht darauf.

Außerdem wird "From" üblicherweise bis auf den Anfangsbuchstaben klein geschrieben, und nach dem Doppelpunkt muss erst ein Leerzeichen folgen.

So long,
 Martin

--
"Drogen machen gleichgültig."
 - "Na und? Mir doch egal."