Umlaute in mail() [php] korrekt darstellen?
Hallo zusammen,
ich habe folgendes Problem:
per PHP-Script versende ich eine Email (was soweit auf funktioniert) und in Thunderbird werden alle Umlaute sauber angezeigt. Wenn ich die Mail allerdings in Outlook öffne, bekomme ich statt Umlauten nur Zeichensalat. Mein Code sieht aus wie folgt:
PHP-Code:
mail($empfaenger, $subject, $message, "From: " . $mail, "Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1;") or die ("Die Mail konnte nicht versand werden.");
Ich habe jetzt auch schon einige Tipps ausprobiert, die ich über Google gefunden habe, aber es will mir nicht gelingen. Wahrscheinlich ist es nur ein kleiner Fehler und ich sehen ihr einfach nicht Huh
Danke und LG Buzz
2 Antworten
Hallo,
was hast du denn alles ausprobiert? Bevor wir hier alles nochmal durchgehen.
Wenn du gegoogelt hast, sollte dir gesagt worden sein das du UTF-8 nutzen sollst. Dann mach das auch!
Die "mail" Funktion von PHP sollte auch nicht verwendet werden. Nutze lieber eine fertige Klasse für sowas.
Mehr Infos zu E-mail in PHP: http://php-de.github.io/#email
Grüße
Wie sieht es ggf. in einem 3. Programm aus?
Es kann auch sein das Outlook falsch eingestellt ist. http://help.untermstrich.com/de:faq:outlook_mailto
Versuch mal folgendes in deine Funktion einzubauen
mail($empfaenger, $betreff, $nachricht, $email."\r\n".'Content-Type: text/plain; charset=UTF-8')
Die Werte musst du dann halt anpassen
UTF-8 habe ich inzwischen drin.
Die mail() habe ich durch die Swift_Message Klasse ausgetausch (die ist ja total simple :-) )
Allerdings funktioniert es immer noch nicht.
Ich habe das ganze Dokument auch extra nochmal in UTF-8 abgespeichert.
Was mich auch so wundert, ist, dass in Thunderbird alles bestens aussieht. Aber die Settings in Outlook sind in Ordnung...