PHP mail() - Umlaute in Email Betreff sind falsch

son gohan

Erfahrenes Mitglied
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

  • mail.png
    mail.png
    2,5 KB · Aufrufe: 6
Zuletzt bearbeitet:
Hi

welches Encoding hat deine Codedatei?
Nachschaubar/einstellbar in deinem Editor. (Wenn nicht, dann besser wechseln).
 
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');
 
Naja, nur solang bis man die Codedatei anders abspeichert, dann gehts wieder nicht :)

Und ja, der Windows-Editor ist ziemlich unbrauchbar,
 
Zurück