Subject einer Mail in UTF-8

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Subject einer Mail in UTF-8

    Hallo.
    Ich habe ein kleines großes Problem.
    Ich versende aus meinem Webinterface Emails an verschiedene Verteiler. Auch an den User.
    Wenn dieser nun als Sprache japanisch gewählt hat und auf der Seite auf japanisch unterwegs ist, dann soll er natürlich am Ende der Applikation eine Email in japanisch bekommen.
    Funktioniert soweit auch alles. Der Content kommt in UTF-8 und japanischen Zeichen an. Die Email ist als UTF-8 kodiert.
    Auch für das Subject habe ich einen workaround, der das Subject in UTF-8 wandelt. Leider wird der Subject nicht in japanische Schriftzeichen dargestellt.
    Zum versenden der Mails benutze ich die Mail_mime - Klasse von pear.

    Hier mal Auszüge aus dem Versende Code:

    *SCHNIPP*
    header('Content-Type: text/html; charset=UTF-8');
    $text = '
    慰 易 架 歌 願 企 傾 刑 固 孤
    勤 均 洪 港 叫 境 温 穏 姻 引
    ';
    $html = '
    慰 易 架 歌 願 企 傾 刑 固 孤 <br />
    勤 均 洪 港 叫 境 温 穏 姻 引
    ';
    $headers = array(
    'From' => 'mail@domain.de',
    'Subject' => mb_encode_mimeheader('慰 易 架 歌 願', 'UTF-8')
    );
    $mime = new Mail_mime("\n");
    $text = iconv('utf-8', 'utf-8', $text);
    $html = iconv('utf-8', 'utf-8', $html);
    $mime->setTXTBody($text);
    $mime->setHTMLBody($html);
    $param = array();
    $param["text_charset"] = "utf-8";
    $param["html_charset"] = "utf-8";

    $body = $mime->get($param);

    $headers = $mime->headers($headers);

    $mail =& Mail::factory('mail');
    $mail->send('mail@domain.de', $headers, $body);

    *SCHNIPP*

    Als Betreff kommt in meiner Mail das an: æ…° 易 架 æ_Œ 願

    Hier noch der Quelltext meiner Mail:

    *SCHNIPP*

    Return-Path: <www@host.de>
    X-Original-To: mail@domain.de
    Delivered-To: mail@domain.de
    Received: from host.de (ftp.host.de [172.25.0.2])
    by mail.host.de (Postfix) with ESMTP id 6CF7E271BA5
    for <mail@domain.de>; Tue, 15 Feb 2005 14:22:41 +0100 (CET)
    Received: from localhost (unknown [127.0.0.1])
    by host.de (Postfix (TEMP_XMC)) with ESMTP id 3A563600
    for <mail@domain.de>; Tue, 15 Feb 2005 13:22:41 +0000 (GMT)
    Received: from host.de (localhost [127.0.0.1])
    by localhost (AvMailGate-2.0.1.16) id 87044-5D3D6A6D;
    Tue, 15 Feb 2005 14:22:41 +0100
    Received: by host.de (Postfix (TEMP_XMC), from userid 80)
    id 148173BF; Tue, 15 Feb 2005 14:22:41 +0100 (CET)
    To: mail@domain.de
    Subject: =?UTF-8?B?w6bChcKwIMOmwpjCkyDDpsKewrYgw6bCrcKMIMOpwqHCmA==?=
    MIME-Version: 1.0
    From: mail@domain.de
    Content-Type: multipart/alternative;
    boundary="=_0f2bfecb1e1f1892845ea1c482c347a2"
    Message-Id: <20050215132241.148173BF@host.de>
    Date: Tue, 15 Feb 2005 14:22:41 +0100 (CET)
    X-AntiVirus: checked by AntiVir MailGate (version: 2.0.1.16; AVE: 6.29.0.11; VDF: 6.29.0.124; host: host.de)


    --=_0f2bfecb1e1f1892845ea1c482c347a2
    Content-Type: text/plain; charset="utf-8"
    Content-Transfer-Encoding: 7bit


    æ…° 易 架 æ_Œ 願 企 傾 刑 固 å_¤
    勤 均 洪 港 叫 境 温 穏 姻 引

    --=_0f2bfecb1e1f1892845ea1c482c347a2
    Content-Type: text/html; charset="utf-8"
    Content-Transfer-Encoding: quoted-printable


    =E6=85=B0 =E6=98=93 =E6=9E=B6 =E6=AD=8C =E9=A1=98 =E4=BC=81 =E5=82=BE =E5=
    =88=91 =E5=9B=BA =E5=AD=A4 <br />
    =E5=8B=A4 =E5=9D=87 =E6=B4=AA =E6=B8=AF =E5=8F=AB =E5=A2=83 =E6=B8=A9 =E7=
    =A9=8F =E5=A7=BB =E5=BC=95=20

    --=_0f2bfecb1e1f1892845ea1c482c347a2--

    *SCHNIPP*

    Liegt es nun an meinem Email-Clienten oder an Windoof, das ich den Subject nicht in Japanischen Schriftzeichen bekomme oder habe ich etwas vergessen?

    Hat jemand eine Idee?
    Zuletzt geändert von Downline; 16.02.2005, 08:15.
    No internationalisation, no fun.

  • #2
    So. Offensichtlich hatte noch niemand das Problem. Deswegen konnte mir auch keiner weiterhelfen. Nun gut. Ich habe mich nun 2 Tage mit dem Problem auseinandergesetzt.

    Hier also nun die Antworten auf meinen Thread:

    1. In meiner Emailliste im Outlook Express kann der Subject nicht in Japanisch dargestellt werden, weil die für die Listendarstellung verwendete Schriftart keine japanischen Zeichen beinhaltet.

    2. In PHP muss die einstellung
    mb_internal_encoding('utf-8');
    gesetzt werden, damit die Funktion mb_encode_mimeheader richtig funktioniert.

    3. Nach dieser Änderung bekomme ich in meiner Emailliste nur ??????.
    Wenn ich die Email aber öffne, habe ich im Subject japanische Zeichen, da dort nicht mehr die Schriftart verwendet wird.

    So. Ich wollte das mal zusammenfassen, falls es irgendwen interessiert. Könnte ja sein......
    No internationalisation, no fun.

    Kommentar

    Lädt...
    X