Honda: mail(); und UTF-8

HAllo,

ich versende eine automatisierte Registrierungs-Bestätigung mittles mail(); mit charset UTF-8.

------
@mail("$email", $subject, $text, 'From: ABC <abc.com>'."\r\n".'Content-Type: text/plain; charset="UTF-8"'."\r\n".'Content-transfer-encoding: 8bit\n');
-----

Dies funktioniert auch meistens, nicht jedoch bei Hotmail.
Hier werden die Umlaute nicht richtig dargestellt.

Weiß jemand von Euch eine Lösung?

Merci,
Honda

  1. Hallo Honda.

    Weiß jemand von Euch eine Lösung?

    Hast du bereits eine Anfrage an den Support von Hotmail gesendet?

    Einen schönen Sonntag noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    mathbr:del.icio.us/ mathbr:w00t/
    1. Bisher noch nicht,

      es würde mich jedoch SEHR wundern, wenn dieses Problem nicht längst bekannt ist, zumal hotmail nicht gerade wenig verbreitet und UTF-8  eine Codierung ist die man nicht so einfach aussen vor lässt.

      LG,
      Honda

      1. echo $begrüßung;

        es würde mich jedoch SEHR wundern, wenn dieses Problem nicht längst bekannt ist

        Google beispielsweise findet bei den Suchwörtern "hotmail utf8" circa 938000 Fundstellen.

        echo "$verabschiedung $name";

  2. Moin Honda,


    @mail("$email", $subject, $text, 'From: ABC <abc.com>'."\r\n".'Content-Type: text/plain; charset="UTF-8"'."\r\n".'Content-transfer-encoding: 8bit\n');

    vermutlich toleriert Hotmail Fehler bei der von Dir recht frei ausgelegten RCF 2045 nicht. (Um es deutlich zu sagen, bis auf 'From: ~', welches man je nach PHP-Version eher durch 'additional_parameters' der Funktion mail() mitteilen sollte, sind die Header überflüssig.)

    Weiterhin hast Du keinerlei Einfluß auf das Transfer-Encoding. Dieses wird vom mit mail() aufgerufenem MTA und dem SMTP-Server je nach Erweiterungen festgesetzt. Hierbei sehe ich (neben dem Fehlen des Headers 'MIME-Version') einen mutmaßlichen Hauptkandidaten für Dein Problem Fehler, denn wird der Message-Body auf ([ursprünglich] übliche 7Bit) transformiert, bliebe der falsche Header ja erhalten...

    Der krönende Abschluß ist und bleibt allerdings folgende Fehlformatierung: 'Content-transfer-encoding: 8bit\n'! '\n' wird _nicht_ zu <LF>. "\n" wird zu <LF>. Aber, wie gesagt, dieser Header steht dem PHP-Script schlichtweg auch nicht zu.

    Gruß aus Berlin!
    eddi

    --
    Wer Rechtschreibfehler findet, darf sie behalten.