Twilo: UTF-8 wird bei einigen eMail-clienten nicht angezeigt

Hallo,

kann es sein, dass z.B. Outlook 6 nicht mit UTF-8 umgehen kann?
Jemand, der Outlook verwendet, meinte zu mir, dass ich doch bitte die eMail ohne meine kryptischen Zeichen versenden sollte.

in sein Screenshot konnte man sehen, dass Outlook die Rohdaten angezeigt hat :-(

folgendes steht im Header

MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

ps. wie muss man eigentlich den Subject kodieren, denn der kommt auch bei mir etwas kryptisch an

mfg
Twilo

  1. Hallo,

    ps. wie muss man eigentlich den Subject kodieren, denn der kommt auch bei mir etwas kryptisch an

    ich hab die Kategoprie PHP gewählt, weil ich die eMails per PHP versende
    für das Problem mit den Subject bräuchte ich also auch eine PHP Funktion, bzw. vorgehensweise.

    Meine eMails verschicke ich per PEAR@Mail

    mfg
    Twilo

  2. Hallo Twilo

    kann es sein, dass z.B. Outlook 6 nicht mit UTF-8 umgehen kann?

    Outlook 6? Gab es das jemals? Die älteste Version in meinem Softwareregal ist Outlook 97, das meldet sich bereits als Outlook 8. Du meinst wohl Outlook Express.

    Jemand, der Outlook verwendet, meinte zu mir, dass ich doch bitte die eMail ohne meine kryptischen Zeichen versenden sollte.

    Microsoft hat es schon etwas versteckt:

    Outlook:

    Extras
      ->Optionen
        ->Registerkarte E-Mail-Format
          ->Schaltfläche Schriftarten
            ->Schaltfläche Internationale Schriftarten
              ->In Schriftarteinstellungen "Unicode" auswählen
                als Codierung "UTF-8" auswählen

    Outlook Express:

    Extras
      ->Optionen
        ->Registerkarte Lesen
          ->Schriftarten
            ->In Schriftarteinstellungen "Unicode" auswählen
              als Codierung "UTF-8" auswählen

    Freundliche Grüße

    Vinzenz

    1. Hallo,

      kann es sein, dass z.B. Outlook 6 nicht mit UTF-8 umgehen kann?

      Outlook 6? Gab es das jemals? Die älteste Version in meinem Softwareregal ist Outlook 97, das meldet sich bereits als Outlook 8. Du meinst wohl Outlook Express.

      öhm.. Yo, ich meinte eigentlich Outlook Express

      Jemand, der Outlook verwendet, meinte zu mir, dass ich doch bitte die eMail ohne meine kryptischen Zeichen versenden sollte.

      Microsoft hat es schon etwas versteckt:

      Outlook:

      Extras
        ->Optionen
          ->Registerkarte E-Mail-Format
            ->Schaltfläche Schriftarten
              ->Schaltfläche Internationale Schriftarten
                ->In Schriftarteinstellungen "Unicode" auswählen
                  als Codierung "UTF-8" auswählen

      Outlook Express:

      Extras
        ->Optionen
          ->Registerkarte Lesen
            ->Schriftarten
              ->In Schriftarteinstellungen "Unicode" auswählen
                als Codierung "UTF-8" auswählen

      das ist ja sehr schlecht, dann muß ich ja in jeder eMail eine Anleitung mit ranhängen ;-)

      mfg
      Twilo

  3. ps. wie muss man eigentlich den Subject kodieren, denn der kommt auch bei mir etwas kryptisch an

    =?Zeichensatz?Kodierung?Text?=

    Zeichensatz ist zum Beispiel ISO-8859-1, Kodierung ist entweder Q für quoted-printable oder B für base64. Im Detail ist das alles festgelegt in RFC 2047.

    Zur Kodierung ist quoted-printable vorzuziehen, weil da im Gegensatz zu base64 der größte Teil auch im kodierten Zustand noch lesbar ist.

    Du solltest versuchen, den Zeichensatz in der Reihenfolge ASCII, ISO-8859-1 (NICHT mit Windows-1252 verwechseln), UTF-8 auszuwählen, damit erhältst du größtmögliche Kompatibilität. UTF-8 braucht man im Deutschen meist nur, wenn das Eurozeichen im Spiel ist, weshalb das Bestehen auf UTF-8 in jeder Lebenslage mehr mit Ideologie als mit Zwang zu tun hat. Das gilt auch und gerade für dein Problem mit dem Mailinhalt. Mit der iconv-Funktion müsste sich in PHP sehr leicht feststellen lassen, welcher kleinste gemeinsame Nenner passt:

    if (($ausgabe = iconv("UTF-8", "US-ASCII", $eingabe)) !== false) { $charset = "US-ASCII"; }
    else if (($ausgabe = iconv("UTF-8", "ISO-8859-1", $eingabe)) !== false) { $charset = "ISO-8859-1"; }
    else { $ausgabe = $eingabe; $charset = "UTF-8"; }
    mail($to, $subject, $ausgabe, "MIME-etc\r\nContent-Type: text/plain; charset=" . $charset);