Mir fiel auf, dass die Subject-Zeile nicht korrekt codiert wird, bspw. kommt Folgendes im Mail-Quelltext (auszugsweise) heraus, wenn ich iso-8859-1 als Codierung einsetze und die Betreffzeile
Code: Alles auswählen
Testsubject mit Umlauten und Sonderzeichen: äÄöÖüÜß?
Code: Alles auswählen
Subject: =?ISO-8859-1?Q?Testsubject mit Umlauten und Sonderzeichen: äÄöÖüÜß??=
Korrekt wäre in etwa dies (Mail mit dem selbem Subject, mit Thunderbird an mich selbst gesandt):
Code: Alles auswählen
Subject: =?ISO-8859-1?Q?Testsubject_mit_Umlauten_und_Sonderzeiche?=
=?ISO-8859-1?Q?n=3A_=E4=C4=F6=D6=FC=DC=DF=3F?=
Code: Alles auswählen
Subject: Testsubject mit Umlauten =?ISO-8859-1?Q?=E4=FC=F6=20und=20Sonderzeichen?= =?ISO-8859-1?Q?=3A=20=E4=C4=F6=D6=FC=DC=DF=3F?=
Code: Alles auswählen
$betreff = preg_replace('~([\xA0-\xFF])~e', '"=" . strtoupper(dechex(ord("$1")))', $betreff);
Ich schlage für mod_form 4.1d vor, in includes/actions.inc.php in den Zeilen 258 und 280 jeweils
Code: Alles auswählen
$betreff = '=?'.$encoding.'?Q?' . iconv ( iconv_get_encoding('internal_encoding') , $encoding , $betreff ) . '?=';
Code: Alles auswählen
$betreff = mb_encode_mimeheader($betreff, $encoding, "Q");
Ich hab's bei mir unter CPO 4.0.12, PHP 5.2.17 und PHP 5.4.21 getestet.