Gustav Gans: utf-8 Mails mit php versenden

Beitrag lesen

Hallo Forum!

Mir ist aufgefallen, daß eine über php versendete Mail nicht utf-8 codiert versendet wird bzw. nicht als solche ankommt.

Ich habe folgenden php-Code zum Versenden einer Mail:

  
$empfaenger=$usermail;  
$betreff="Bitte bestätigen Sie Ihre Registrierung";  
$text="Hallo ".$username."!\r\rBitte bestätigen Sie Ihre Regisitrierung!"  
mail($empfaenger,$betreff,$text,"From:Max Mustermann <contact@example.com>", "-fbcontact@example.com");  

Das -fbcontact@example.com (in Wirklichkeit eine gmx-Adresse) muß ich machen, weil sonst gmx die Mail über meinen Mailserver nicht annimmt. Jedenfalls führt das dann zu folgender angekommener Mail:

Betreff: Bitte bestätigen Sie Ihre Registrierung
Mail: Hallo ... ! Bitte bestätigen Sie Ihre Registrierung!

Offenbar ist also die Mail nicht, so wie die php-Seite und alles andere bei mir, utf-8 codiert. Ich habe dazu jetzt im Internet folgende Lösung gefunden:

  
$empfaenger=$usermail;  
$betreff="Bitte bestätigen Sie Ihre Registrierung";  
$text="Hallo ".$username."!\r\rBitte bestätigen Sie Ihre Regisitrierung!"  
$header="MIME-Version: 1.0\n";  
$header.="Content-type: text/html; charset=utf-8\n";  
$header.="From: Max Mustermann <contact@example.com>\n";  
mail($empfaenger,$betreff,$text,$header, "-fbcontact@example.com");  

Wenn ich das aber so mache, kommt _keine_ Fehlermeldung, aber auch _nie_ eine Mail an. Offenbar ist da also was falsch. Kann mir bitte wer aufzeigen, was ich umschreiben muß, damit die Mails utf-8 codiert sind _und_ auch noch gesendet werden/ankommen?

Mit Grüßen aus Entenhausen

Gustav Gans