molily: mail subject mit Umlauten

Beitrag lesen

Hallo,

Hab mir jetzt mal den Quelltext eines Mails mit Umlaut im Subject angesehen. Aus "NÖ Umlaut" wird ein "=?ISO-8859-1?Q?N=D6_Umlaute?="
Wie kann man diesen String erzeugen?

Da bist du auf dem richtigen Weg. Alle 8-Bit-Zeichen müssen auf diese Weise maskiert werden. D6 ist der hexadezimale Wert für »Ö« im Zeichensatz ISO-8859-1. Das ganze wird in =?ISO-8859-1?Q? ... ?= eingeschlossen. Das geht z.B. so:

$str = preg_replace('~([\xA0-\xFF])~e', '"=" . strtoupper(dechex(ord("$1")))', $str);
$str = '=?ISO-8859-1?Q?' . $str . '?=';

Jemand wird dir auch sicher aus dem Kopf sagen können, in welchem RFC das geregelt ist.

Mathias