Die PHP-Funktion mail() ist eine einfach zu nutzende Möglichkeit, ohne irgendwelche Zusatzmodule eine Email aus PHP heraus zu versenden, was auch von Entwicklern häufig genutzt wird.
Wenn Sie schon erste Versuche mit mail() gemacht haben, werden Sie aber festgestellt haben, dass deutsche Sonderzeichen, beispielsweise Umlaute wie Ä, Ö, Ü, ä, ö, ü, ß beim Empfänger nicht sauber ankommen und stattdessen andere Sonderzeichen angezeigt werden.
Das liegt daran, dass der normalerweise vom eMail-Protokoll SMTP verwendete ASCII-Zeichensatzder diese Zeichen nicht unterstützt.
Die Lösung ist einfach, man muss dem empfangenden Emailprogramm sagen, wie der Zeichensatz zu dekodieren ist. Der dazu nötige Header lautet:
“Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable”
Das macht man mit mail() folgendermaßen:
<?php
mail (“name@empfaenger.de”,”Betreff”,”Inhalt”,”Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable” );
?>
Natürlich kann man auch mit einem anderen Characterset wie „UTF-8“ statt „ISO-8859-1“ arbeiten.