Matt: Passende E-Mail-Kodierung: Eurozeichen

Beitrag lesen

Hallo zusammen,

das ewige Problem beim Versenden von E-Mails via PHP:

Ein String ($_SESSION['text']) ist utf8-kodiert.
Mit PHP versende ich nun eine E-Mail welche iso-8859-1 kodiert ist. Das Skript ist utf8-kodiert gespeichert.

Mit stripslashes(utf8_decode($_SESSION['text'])) kodiere ich die Iso-Nachricht und sende Sie mit folgendem Header an den Empfänger:

  
$header  = 'From: xxx';  
$header .= "\r\n";  
$header .= 'Reply-To: xxx';  
$header .= "\r\n";  
$header .= "MIME-Version: 1.0";  
$header .= "\r\n";  
$header .= "Content-type: text/plain; charset=iso-8859-1";  
$header .= "\r\n";  
$header .= "Content-Transfer-Encoding: 8bit";  
$header .= "\r\n";  

Wenn im Inhalt der E-Mail ein € verwendet wurde, steht dort nun ein Fragezeichen (?). Die Umlaute stimmen.
=> liegt wohl daran, dass "iso-8859-1" kein Eurozeichen enthält.

Wende ich nun den Trick mit "Content-type: text/plain; charset=iso-8859-15" (Latin0 bzw. Latin9) an, wird dies auf einigen Mail-Servern funktioniert, aber z.B. nicht bei Freemail und GMX.
=> liegt wohl daran das ISO ...-15 nicht wirklich verbreitet ist.

Wende ich "Content-type: text/plain; charset=utf-8" ohne "utf8_decode" an, ist selbiges wie bei ISO ...-15. Freemail interpretiert das irgendwie gar nicht und der Betreff besteht aus Hieroglyphen.

Hat jemand eine wirklich funktionierende Methode oder klappt das bis heute nicht einwandfrei?

Grüße,
Matt