00 Stimmen

PHP Mail: Umlaute in Namen und Betreff werden nicht angezeigt

Frage von Gast | 21.01.2014 um 11:19

Ich versuche gerade mit der Mail-Funktion von PHP eine E-Mail zu versenden. Das klappt auch alles soweit ganz gut.

Allerdings nur solange wie im Header der Mail keine Umlaute vorkommen. Sobald ich aber in den Betreff oder den Absender Umlaute einfüge, werden diese nicht mehr richtig von meinem E-Mail-Programm dargestellt.

Kann mir jemand sagen, was ich tun kann?

AntwortenPositivNegativ
10Beste Antwort10 Stimmen

In der Regel verstehen die beteiligten Programme und Server nur ASCII-Zeichen im Header der E-Mail. Die Buchstaben von A bis Z fallen in diesem Bereich, die deutschen Umlaute nicht.

Aus diesem Grund muss man die UTF-8 Zeichen innerhalb des Headers gesondert codieren:

$text = 'Betreff mit Ä, Ö und Ü';
$betreff = '=?UTF-8?B?'.base64_encode($text).'?=';

Da dieses Thema etwas umfangreicher ist, habe ich dazu den Artikel UTF-8 Header in der PHP-Mail-Funktion geschrieben. In diesem Artikel findest du eine Erklärung dieser Code-Zeile sowie ein vollständiges Beispiel, wie eine Funktion aussehen kann, die eine so codierte Mail vorbereitet und versendet.
21.01.2014 um 17:42

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

PHP: Eine E-Mail versenden

Tutorial | 0 Kommentare

Wie man Spam Mails vermeidet

Tipp | 0 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.