tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
1782
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von bauchinj
    bauchinj bauchinj ist offline Mitglied Gold
    Registriert seit
    Oct 2009
    Ort
    Oberösterreich
    Beiträge
    223
    Hallo!

    Hab wieder mal ein Problem mit den Umlauten.... Also mein Mail ist utf-8 codiert, tut im header (glaub ich) nichts zur Sache. Heißt der Absender zum Beispiel "Günter Müllner" bekomm ich falsch kodierte Zeichen im Mailclient an!

    habs versucht diesen String mit htmlentities, utf8_encode, utf8_decode, imap_8bit, ... zu kodieren, hilft aber alles nichts. Wie ist es möglich, Umlaute im Mail-Client richtig darzustellen?

    PHP-Code:
    $header  'MIME-Version: 1.0' "\r\n";
    $header .= 'Content-type: text/html; charset=utf-8' "\r\n";
    $header .= 'From: '.utf8_decode('Günter Müllner').' <'gm@gmx.net'>' "\r\n"
    So sieht also mein Header aus und so meine Mail-Aufruf:

    PHP-Code:
    mail($to,$subject,$message,$header); 
    Danke schon jetzt für eure Hilfe!
     

  2. #2
    Avatar von bauchinj
    bauchinj bauchinj ist offline Mitglied Gold
    Registriert seit
    Oct 2009
    Ort
    Oberösterreich
    Beiträge
    223
    hier die Lösung:

    PHP-Code:
    $header  'MIME-Version: 1.0' "\r\n";
    $header .= 'Content-type: text/html; charset=utf-8' "\r\n";
    $header .= 'From: =?ISO-8895-15?Q?Günter Müllner?= <'gm@gmx.net'>' "\r\n"
    und ähnlich für den Betreff:

    PHP-Code:
    mail($to,"=?utf-8?Q?Betreff müt Ümläüten?=\r\n",$message,$header); 
    Viel Spaß!
     

  3. #3
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Der Ansatz ist schon richtig, das Q deutet aber auf die Quoted-Printable-Kodierung hin, die es dann auch zu verwenden gilt:
    PHP-Code:
    $header  'MIME-Version: 1.0' "\r\n";
    $header .= 'Content-type: text/html; charset=utf-8' "\r\n";
    $header .= 'From: =?ISO-8895-15?Q?'.imap_8bit('Günter Müllner').'?= <user@example.com>' "\r\n";
    mail($to,"=?utf-8?Q?".imap_8bit('Betreff müt Ümläüten')."?=\r\n",$message,$header); 
    Dass du hier zwei unterschiedliche Zeichenkodierungen angibst (ISO 8859-15 und UTF-8) wird allerdings schiefgehen.
     
    Markus Wulftange

  4. #4
    Avatar von bauchinj
    bauchinj bauchinj ist offline Mitglied Gold
    Registriert seit
    Oct 2009
    Ort
    Oberösterreich
    Beiträge
    223
    Sorry, natürlich 2 mal die gleiche Zeichenkodierung...
     

  5. #5
    Avatar von bauchinj
    bauchinj bauchinj ist offline Mitglied Gold
    Registriert seit
    Oct 2009
    Ort
    Oberösterreich
    Beiträge
    223
    PHP-Code:
    $header  'MIME-Version: 1.0' "\r\n";
    $header .= 'Content-type: text/html; charset=utf-8' "\r\n";
    $header .= 'From: =?ISO-8895-15?Q?'.imap_8bit('Günter Müllner').'?= <user@example.com>' "\r\n";
    mail($to,"=?utf-8?Q?".imap_8bit('Betreff müt Ümläüten')."?=\r\n",$message,$header); 
    SO funktionierts.... warum erhalte ich, wenn ich beim absender utf-8 angebe immer ein ? statt den ü's und im Betreff passts?
     

Ähnliche Themen

  1. mail()-Funktion Umlaute
    Von infdb im Forum PHP
    Antworten: 3
    Letzter Beitrag: 01.07.10, 13:46
  2. Header Content-Disposition und Umlaute
    Von meilon im Forum .NET Web und Kommunikation
    Antworten: 0
    Letzter Beitrag: 13.08.08, 08:44
  3. Umlaute in E-Mails mit mail()
    Von philishake im Forum PHP
    Antworten: 5
    Letzter Beitrag: 16.07.08, 14:59
  4. Antworten: 3
    Letzter Beitrag: 27.07.06, 16:03
  5. mail() und Umlaute bzw. Sonderzeichen
    Von Nummer2 im Forum PHP
    Antworten: 7
    Letzter Beitrag: 25.10.03, 23:17

Stichworte