PHP Mail Headers - eMails mit Header-Informationen

Die in den Headern Content-Type und Content-Type-Encoding angegebenen Kodierungsformen gelten ausschließlich für den Inhalt der Mail (message-body). Auf Umlaute im Betreff und in den Header-Angaben wirken sich diese Angaben – je nach benutztem Mail-Client – nicht aus.

<?php
    // Adresse des Mail-Empfängers
    $to = "Empfaenger <empfaenger@domainname.de>";

    // eMail-Adresse die angibt von wem die Mail versendet wurde
    $from = "Absender <absender@domainname.de>";

    // Zusätzliche eMail-Header an die Mail anhängen
    $headers = "From: $from\r\n" .
           // Version des verwendeten Mime-Standards
           "MIME-Version: 1.0\r\n" .
           // Zeichensatz, in dem die Mail kodiert ist (ISO-8859-1, UTF-8...)
           "Content-Type: text/plain; charset=\"ISO-8859-1\"\r\n" .
           // Header zur Kodierung der Mail Content-Transfer-Encoding
           // 7bit/8bit - Einzelne Zeichen werden mit 7 bzw. 8 Bit kodiert
           // base64 - Kodierung von binären Daten (z.B. für Anhänge)
           // quoted-printable - Kodierung Text mit Sonderzeichen durch die Sequenz
           // '=Hexadezimalwert des Zeichens' (Beispielsweise =FC für das Zeichen ü)
           // Also Quoted-Printable, da hier nur Text verschickt wird.
           "Content-Transfer-Encoding: quoted-printable\r\n";

    // Betreffzeile für die Mail
    $subject = "Vielen Dank für Ihre Registrierung!";

    // Inhalt der eMail
    $message_body = "Sie haben sich bei uns als Benutzer registriert...";

    // Mail mit definierten Headers versenden
    mail ($to, $subject, $message_body, $headers);
?>

Sonderzeichen / Umlaute in Header oder Subject von Mails

Aufgrund der Tatsache dass Empfänger, Nachrichtenheader und Subject mit 7-Bit kodiert werden, müssen Sonderzeichen und Umlaute hier als Quoted-Printable oder in Base64-Kodierung angegeben werden. Da im Header einer Mail und im Subject normalerweise keine binären Zeichen enthalten sind, sollte hier die Quoted-Printable-Kodierung verwendet werden.

<?php
    // Kodierung der eMail-Adresse des Empfängers mit Quoted-Printable
    // Der Mail-Client nutzt den angegebenen Zeichensatz zur Darstellung
    // Format des kodierten Strings: =?<Zeichensatz>?<Kodierung>?<Text>?=
    // Als Zeichensatz wird ISO-8859-1 gewählt.
    // Gültige Optionen für die Kodierung:
    // Q - Quoted-Printable
    // B - Base64
    $to = "=?ISO-8859-1?Q?Empf=E4nger?= <empfaenger@domainname.de>";
    // oder wir überlassen die Kodierung PHP
    $to = imap_8bit ("Empfänger") . " <empfaenger@domainname.de>";

    // eMail-Adresse des Absenders
    $from = "Absender <absender@domainname.de>";

    // Mail-Header für die zu verschickende eMail
    $headers = "From: $from\r\n" .
           "MIME-Version: 1.0\r\n" .
           "Content-Type: text/plain; charset=\"ISO-8859-1\"\r\n" .
           "Content-Transfer-Encoding: quoted-printable\r\n";

    // Auch das Subject wird als Quoted-Printable kodiert, da Umlaute enthalten sind.
    $subject = "=?ISO-8859-1?Q?Neuer_Benutzer:_Alexander_M=FCller?=";
    // oder wieder mit PHP
    $subject = imap_8bit ("Neuer Benutzer: Alexander Müller");

    // Der Rest wie zuvor...
    $message_body = "Sie haben sich bei uns als Benutzer registriert...";
    mail ($to, $subject, $message_body, $headers);
?>
Letzte Posts aus unserem Forum

Wer kennt .....

Hallo erstmal wer kennt von euch einen WEbprogrammieren,desginer der mir eine Seite erstellen kann ,Communityportal sowas in der art wie ... » mehr

von NCWebmaster am Mittwoch, 7. Oktober 2009 00:32 in PHP - bisher 1 Antwort
Letzter Beitrag: Mittwoch, 7. Oktober 2009 13:26 von kalle

Hallo auch, da gibt es sicher viele die das machen würden, allerdings deutlich weniger die es auch tatsächlich machen könnten - noch einmal weniger ... » mehr

oh Mann

Hallo erstmals..... also ich kenn mich ja nicht so aus, aber ich denke die Menschheit fliegt auf den Mond, dann müsste es auch eine Lösung für mein ... » mehr

von Dummbazz am Dienstag, 24. Februar 2009 15:11 in PHP - bisher 2 Antworten
Letzter Beitrag: Mittwoch, 25. Februar 2009 11:48 von Dummbazz

Danke für die aufmunternde Worte... ... » mehr

counter auch ohne datenbank?

tach auch, ich habe nach einem besucherzähler gesucht, der auf meiner seite anzeigt, wieviele besucher sich dort aufhalten. allerdings habe ich ... » mehr

von marcel am Montag, 8. Dezember 2008 12:21 in PHP - bisher 1 Antwort
Letzter Beitrag: Montag, 8. Dezember 2008 13:34 von alm

Hallo, sicher kann die Counter-Klasse so umgeschrieben werden, dass sie auch ohne Datenbankanbindung funktioniert. Allerdings würde das einer neuen ... » mehr

DAten speichern und abfragen

Hallo an Alle! Hoffe, dass ich hier im richtigen Forum bin. Vielleicht kann mir jemand einen Tip geben. Ich möchte auf meiner Webpage ein Formular ... » mehr

von muenchner am Samstag, 12. Juli 2008 18:31 in PHP - bisher 1 Antwort
Letzter Beitrag: Montag, 14. Juli 2008 08:49 von alm

Hallo, ich bin mir nicht sicher, wie das jetzt gemeint ist! Geht es um die Frage: Sollen die Optionen des Forumlars (die einzelnen Checkboxen) in ... » mehr

Tutorials :: PHP & MySQL - Problem

Hi, zunächsteinmal danke für das Tutorial: ... » mehr

von migges am Montag, 2. Juni 2008 12:05 in PHP - bisher 3 Antworten
Letzter Beitrag: Dienstag, 3. Juni 2008 11:45 von alm

Das mit den Oder-Operatoren wundert mich ein wenig... Welchen Fehler hat der Interpreter an diesen Stellen ausgegeben? Ich habe bislang mit ... » mehr

¬ Tutorials



¬ Insolvenzrecht