PHP mail() - Umlaute in Email Betreff sind falsch

son gohan

Erfahrenes Mitglied
#1
Hallo,

kann mir jemand sagen wieso bei mir das nicht klappt, obwohl ich lauter Beispiele schon kopiert habe von Tutorials die ich irgendwo gefunden habe wo jeder sagt so funktioniert das, hier ist ein Beispiel:

PHP:
$emailfrom = 'Some Name <somename@someserver.com>';
$headers   = array();
$headers[] = "MIME-Version: 1.0";
$headers[] = "Content-type: text/html; charset=utf-8";
$headers[] = "From: {$emailfrom}";

$to = "myemail@yahoo.de";
$subject = 'Betreff mit Ä, Ö und Ü ß ü';
$subject = '=?UTF-8?B?'.base64_encode($subject).'?=';


$txt = "Hallo Sie haben das gewählt, am &#xE4; ";
mail($to,$subject,$txt,implode("\r\n",$headers));
Bei der Email steht im Betreff immer sowas wie im Bild das ich hier als Anhang sende, die Umlaute sind als Fragezeichen angezeigt, also klappt nicht.

Woran kann das jetzt schon wieder liegen? Vielleicht weil ich ein free webspace provider benutze? Liegts an Yahoo Mail? Oder hat es etwas mit dem Mond zu tun :)?
 

Anhänge

Zuletzt bearbeitet:

son gohan

Erfahrenes Mitglied
#3
Ich benutze den Windows Editor, der zeigt das glaube nicht an. Aber warum muss ich bei meinem Editor nachschauen, das ist manchmal echt kompliziert, ich denke immer es laeuft doch alles ueber ein Apache Webserver und der muss doch alles richtig machen.

Naja ich habe aber aufjedenfall nun von jemand eine Loesung gefunden, mit folgendem Code klappt es:

PHP:
$subject = mb_encode_mimeheader($subject,'UTF-8','Q');