Moin!
durch verschiedene Foren und andere Google-Einträge hab ich das schon so weit zusammen gesetzt. Trotzdem gehen die Umlaute immer wieder verloren.
In dem ersten Beispiel ist die Header-Zeile allerdings MIT Zeilenumbrüchen - auch wenn die nicht als "\n" geschrieben sind. Wenn diese Zeilenumbrüche fehlen, erkennen die Mailsysteme nicht, dass du mehrere Header für diverse Dinge eingetragen hast, sondern sehen nur einen Header mit merkwürdigem Inhalt.
Wo genau? Im Header? Im Body?
Im Betreff genauso wie 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!Gehen muss es aber weil ein Mäil-Client kann das ja auch.
Richtig, geht ja auch, nur nicht so, wie du es machst.
$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.
Auch mit den Zeilenumbrüchen klappts trotzdem nich.
Siehe oben...
if (mail($address, $subject, $body, $header))
echo "Die E-Mail wurde abgeschickt!";
else echo "Die E-Mail konnte nicht abgeschickt werden!";
> Ich benutze übrigens PHP 4.3.3. auf einem Linux-Server.
Nebenfrage: Gibt es einen speziellen Grund, dass du kein UTF-8 verwendest? Damit würden sich nämlich die Frage nach den Umlauten in Details deutlich vereinfachen, vor allem im Subject-Header.
- Sven Rautenberg
--
"Love your nation - respect the others."