Problem mit Umlautdarstellung in E-Mailbetreffs
F. Gnas
- sonstiges
Hallo alle!
Wir sind hier auf ein merkwürdiges Problem gestoßen, das mit einer Newsletter-Versendung zusammenhängt (aber auch mit Mailclients/Webbrowsern, drum meine Einordnung unter "SONSTIGES")
Und zwar verschicken wir über ein Newsletter-Tool E-Mails an internationale Interessenten. Das klappt soweit auch wunderbar, egal ob deutsche Umlaute, kyrillische Buchstaben etc. der E-Mailtext kommt überall korrekt an, nur der Betreff bereitet uns Kopfzerbrechen.
Und zwar wird der (Test-)Betreff "öäüöäüjhgjhtuiztuzt" in E-Mail-Clients (Thunderbird, Outlook, Windows Mail etc. pp.) korrekt dargestellt (eben als "öäüöäüjhgjhtuiztuzt"), bei den Weboberflächen diverser Freemailer (GMX, web.de, Yahoo) steht aber folgendes da: "öäüöäüjhgjhtuiztuzt".
Es hat den Anschein als würden der Betreff doppelt UTF-8 kodiert!? Ist das ein bekanntes Problem, das man irgendwie gescheit lösen kann? Hat das jemand von euch evtl. auch schon mal gehabt?
Ach ja: Der E-Mail-Header sieht folgendermaßen aus:
-----snip------
From - Thu Jan 31 15:19:30 2008
X-Account-Key: account2
X-UIDL: 1607035674
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
X-Mozilla-Keys:
Received: from [xx.xxx.x.xxx] (helo=XXXXXXXXX)
by mx31.web.de with esmtp (WEB.DE 4.109 #226)
id 1JKa96-0007uP-00
for XXXXXXX@web.de; Thu, 31 Jan 2008 15:12:04 +0100
Received: from wwwrun by XXXXXXXXX with local (Exim 4.66)
(envelope-from wwwrun@XXXXXXXXX)
id 1JKa8R-0006j1-IB
for XXXXXXXXX@web.de; Thu, 31 Jan 2008 15:11:23 +0100
To: XXXXXXXXX@web.de
Subject: öäüöäüjhgjhtuiztuzt
From: info@XXXXXXXXX.xyinfo@XXXXXXXXX.xy
Content-Type: text/html; charset=utf-8
Message-Id: E1JKa8R-0006j1-IB@XXXXXXXXX
Date: Thu, 31 Jan 2008 15:11:23 +0100
Sender: wwwrun@XXXXXXXXX.xy
-----snip------
Vielen Dank schonmal (erstmal für's Durchlesen ;-)).
Gruß,
Frido
echo $begrüßung;
Und zwar verschicken wir über ein Newsletter-Tool E-Mails an internationale Interessenten. Das klappt soweit auch wunderbar, egal ob deutsche Umlaute, kyrillische Buchstaben etc. der E-Mailtext kommt überall korrekt an, nur der Betreff bereitet uns Kopfzerbrechen.
Content-Type: text/html; charset=utf-8
Subject: öäüöäüjhgjhtuiztuzt
Der Betreff ist nicht durch die Charset-Angabe des Content-Type abgedeckt. Er erfordert eine spezielle Kodierungsmaßnahme, wie sie zum Beispiel dort http://en.wikipedia.org/wiki/MIME#Encoded-Word zu sehen ist. "email subject encoding" wären weitere Stichwörter für deine Recherche.
echo "$verabschiedung $name";
Content-Type: text/html; charset=utf-8
Subject: öäüöäüjhgjhtuiztuzt
Der Betreff ist nicht durch die Charset-Angabe des Content-Type abgedeckt. [...] "email subject encoding" wären weitere Stichwörter für deine Recherche.
Cool, danke schonmal für die fixe Antwort! Ich guck mir das mal an.
Gruß,
Frido
Content-Type: text/html; charset=utf-8
Subject: öäüöäüjhgjhtuiztuzt
Der Betreff ist nicht durch die Charset-Angabe des Content-Type abgedeckt. [...] "email subject encoding" wären weitere Stichwörter für deine Recherche.
Cool, danke schonmal für die fixe Antwort! Ich guck mir das mal an.
OK, vielen Dank nochmal. Mein Kollege hat's gelöst. Mit "=?charset?encoding?encoded text?=" hatte er's probiert, damit klappte es bei den Webmailern und Outlook (Express), nur Thunderbird zeigte das "=?charset..." etc. an.
Wie man aber auch beim Wikipedia-Artikel erkennen konnte fehlte da noch was.
So funktioniert's aber jetzt:
<php>
$subject = base64_encode($subject);
$subject = "=?utf-8?B?$subject?=";
</php>
Gruß,
Frido