[Postfixbuch-users] (OT) Shop codiert die Betreffzeile nicht

Christian Boltz postfixbuch at cboltz.de
Mo Aug 11 14:31:57 CEST 2008


Hallo Knuth, hallo Andreas, hallo Leute,

Am Montag, 11. August 2008 schrieb Knuth:
> Am 10.08.2008 22:28 Uhr, schrieb Andreas Meyer:
> > X-Amavis-Alert: BAD HEADER, Non-encoded 8-bit data (char E4 hex):
> > Subject: Status\344nderung Ihrer B[...]
> >
> > Wie codiere ich denn mit PHP die Umlaute? In der betreffenden
> > email.php habe ich schon folgendes probiert, aber ohne Erfolg:
> >
> > $subject = mb_encode_mimeheader($subject, 'ISO-8859-1');

Dir fehlt ein Parameter, damit quoted-printable rauskommt:
    $subject = mb_encode_mimeheader($subject, 'ISO-8859-1', 'Q');

Einschränkung: Bei überlangen Headerzeilen erfolgt der Umbruch stur nach 
Länge und kann evtl. auch mal mitten in einem Wort erfolgen :-(
(Das steht dummerweise sogar in der Doku und ist daher wohl nicht 
bugreport-fähig :-/ )

Die Kommentare auf http://php.net/mb-encode-mimeheader enthalten diverse 
selbstgeschriebene Funktionen - ob die besser funktionieren, musst Du 
testen - besonders mit überlangen Betreffzeilen.

Auch Postfixadmin verwendet eine selbstgeschriebene Funktion 
(encode_header in functions.inc.php) - wie ich gerade festgestellt 
habe, ist die aber auch nicht perfekt, wenn es um längere Betreffzeilen 
geht :-(

Frage am Rand: Wie lang darf eine Headerzeile lauf RFC eigentlich sein?

> > Selbst wenn ich score SUBJECT_NEEDS_ENCODING 0.0 setze, wird die
> > mail über die Statusänderung möglicherweise beim Empfänger als SPAM
> > aussortiert.

> schalt doch einfach den Badheader check ab. Macht (imho) innerhalb
> von DE keinen Sinn.

Ähm, die Rede war vom _Empfänger_. Und ich glaube kaum, dass Andreas an 
den Spamfiltern aller Kunden drehen darf oder kann ;-)


Gruß

Christian Boltz
-- 
Grub. Da bootest du sogar ein Stück Pappe, auf dem du 'Betriebsystem' 
draufschreibst, und das in den Diskettenschacht schiebst.
[Ernst Herzberg in suse-linux]



Mehr Informationen über die Mailingliste Postfixbuch-users