Sven Rautenberg: Umlaute in E-Mails

Beitrag lesen

Moin!

durch verschiedene Foren und andere Google-Einträge hab ich das schon so weit zusammen gesetzt. Trotzdem gehen die Umlaute immer wieder verloren.

Wo genau? Im Header? Im Body?

$sender = "martina@musterfrau.de";
$person = "Martina Musterfrau";
$address = "example@example.org";  // statt dieser Adresse eine eigene einsetzen!
$subject = "Eine Testmail zum Ändern";

Umlaute im Header-Bereich müssen speziell maskiert werden, die Angabe des Mime-Typs gilt nur für den Mailbody. Dementsprechend kann ein Mailserver im Header nur SMTP-gerechte Daten annehmen, und das bedeutet: 7 Bit ASCII!

$heading = "Hallo!";
$text = "Dies ist eine Testmail.\nSchöne Grüße!";
$body = $heading."\n".$text;
$header = "MIME-Version: 1.0 Content-Type: text/plain; charset=ISO 8859-1; format=flowed Content-Transfer-Encoding: 8bit From: ".$person." <".$sender.">";

Diese Header-Zeile ist irgendwie falsch, da fehlt ein Zeilenumbruch vor FROM.

if (mail($address, $subject, $body, $header))
  echo "Die E-Mail wurde abgeschickt!";
  else echo "Die E-Mail konnte nicht abgeschickt werden!";


>   
> Was muss denn hier noch geändert werden, damit die Anzeige im Mailprogramm läuft?  
  
 - Sven Rautenberg

-- 
"Love your nation - respect the others."