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 2 Antworten
Letzter Beitrag: Montag, 17. Dezember 2012 16:57 von maharadja

...einen guten Onlineshop für Taufringe? Ich habe bisher Taufringe Direkt gefunden und wollte mal nachhaken, ob der Shop für Taufringe wirklich so ... » mehr

Webentwickler Konferenz in Hamburg

Hallo Zusammen, Am 20./21. Mai findet in Hamburg die erste Developer Conference 2011 statt. Wie der Name bereits verrät, handelt die Konferenz rund ... » mehr

von devcon-hamburg am Dienstag, 12. April 2011 16:50 in PHP - noch nicht beantwortet

bedingte Weiterleitung in Kontaktformularen

Hallo zusammen, ich habe ein kleines Problem: Ich brauche bei der Entwicklung eines Kontaktformulares für eine Website eine bedingte Weiterleitung ... » mehr

von scatha am Donnerstag, 10. März 2011 01:12 in PHP - noch nicht beantwortet

Gesucht: Auslesen einer externen Website

Mein vorhaben ist recht simpel aber ich bin php noob (hoffe das entschuldigt es nen bissl xD) und hab kp wie ichs anfangen soll. Und zwar möchte ich ... » mehr

von HeathenMan am Dienstag, 1. Februar 2011 22:57 in PHP - bisher 1 Antwort
Letzter Beitrag: Donnerstag, 3. Februar 2011 14:43 von alm

Hallo, am einfachsten und kompaktesten kann man das mit einem regulären Ausdruck machen. Einfach mal nach der Funktion preg_match_all suchen und den ... » mehr

Zeilenumbruch in der Bildergalerie-Beschriftung

Hallo, die Bildergalerie mit php und js ist super, jedoch möchte ich gern zu meinen Bildern verschiedene Bemerkungen machen und zwar untereinander, ... » mehr

von Sylma am Mittwoch, 26. Januar 2011 01:13 in PHP - bisher 1 Antwort
Letzter Beitrag: Freitag, 28. Januar 2011 10:16 von alm

Hallo, ich nehme an, dass \n im Beschreibungstext nicht funktioniert aber versuchen kann man es. Ansonsten: Schon mal mit einer UTF-Sequenz ... » mehr

¬ Tutorials



¬ Insolvenzrecht