Galanos
Aktives Mitglied
Thread Starter
- Dabei seit
- 19.12.2005
- Beiträge
- 625
- Reaktionspunkte
- 23
Hallo zusammen,
ich bin mal wieder verzweifelt und braeuchte Hilfe. Habe mich bereits an alle Bekannten gewendet, die wenigstens ein bisschen Ahnung davon haben, aber keiner kann mir helfen.
Folgendes:
Mein Shop verschickt nach Bestellung eine Bestaetigungs-E-Mail mit angehaengtem PDF. Auf (allen getesteten) Mac-Systemen kommt die E-Mail in Apple Mail mit allen Sonderzeichen an, in Webmail-Applikationen (1und1) in Safari auch. Hatte lange gebraucht, bis ich mein Script so weit gebracht hatte.
Jedoch erzaehlen mir jetzt schon 2 Verwandte mit Windows-PCs, dass Umlaute in ihren Bestaetigungs-E-Mails als Hieroglypen ankommen ("Bitte überweisen Sie …"). Der eine mit Outlook 10, der andere mit IE7 im GMX-Portal. Und ich habe keine Ahnung, woran das liegt.
Der Header der E-Mail enthaelt folgende, fuer die Zeichenkodierung relevante, Eintraege (aus einer eingehenden Mail kopiert, nicht aus dem Script):
"multipart/mixed" wegen angehaengtem PDF. "UTF-8" verwende ich global auf der Site, von der Datenbank ueber die Scripts bis zur HTML-Ausgabe.
Die Boundary trennt spaeter Text von PDF.
Gleich nach den Headern kommt eine Boundary, um auf Textmodus "umzustellen". Dann folgt der Text – der, wie erwaehnt verhackstueckt wird. Ohne diese Boundary kam der Text, soweit ich mich erinnere (ein paar Wochen her und mittlerweile verdraengt) auch auf Apple-Systemen mit kaputten Sonderzeichen an.
Moeglicherweise sollte ich hier nochmals "charset=UTF-8" unterbringen ("Content-Type: text/plain; charset=UTF-8")?
Nach dem Text eine weitere Boundary, dann das PDF als Base64-Daten.
Ich befuerchte fast, dass ich jede einzelne Zeile, die in die E-Mail kommt, in das Schema "=?UTF-8?Q?encoded_text?=" wandeln muss. Bitte nicht
Noch zu erwaehnen: Mein X-SpamScore ist ziemlich hoch, mit folgenden Tests:
"BAD_ENC_HEADER" scheint ja auch auf ein Zeichenkodierungs-Problem hinzuweisen. Kann aber nicht erkennen, was an den Headern falsch sein soll.
Die anderen beiden Tests sind klar – kennt jemand eine in PHP integrierte Funktion, die automatisch einen Umbruch nach 76 Zeichen einfuegt? Kann auch selber was schreiben, verwende aber lieber hauseigene Funktionen.
Ich kann gerne das Script liefern, wenn das von Belang ist.
Schon mal vielen Dank! Galanos
ich bin mal wieder verzweifelt und braeuchte Hilfe. Habe mich bereits an alle Bekannten gewendet, die wenigstens ein bisschen Ahnung davon haben, aber keiner kann mir helfen.
Folgendes:
Mein Shop verschickt nach Bestellung eine Bestaetigungs-E-Mail mit angehaengtem PDF. Auf (allen getesteten) Mac-Systemen kommt die E-Mail in Apple Mail mit allen Sonderzeichen an, in Webmail-Applikationen (1und1) in Safari auch. Hatte lange gebraucht, bis ich mein Script so weit gebracht hatte.
Jedoch erzaehlen mir jetzt schon 2 Verwandte mit Windows-PCs, dass Umlaute in ihren Bestaetigungs-E-Mails als Hieroglypen ankommen ("Bitte überweisen Sie …"). Der eine mit Outlook 10, der andere mit IE7 im GMX-Portal. Und ich habe keine Ahnung, woran das liegt.
Der Header der E-Mail enthaelt folgende, fuer die Zeichenkodierung relevante, Eintraege (aus einer eingehenden Mail kopiert, nicht aus dem Script):
Code:
Content-Type: multipart/mixed; boundary="-----=8494f9cc7389f5dc37f921f47e2cd8fd"; charset=UTF-8; format=flowed
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Die Boundary trennt spaeter Text von PDF.
Code:
-------=8494f9cc7389f5dc37f921f47e2cd8fd
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
Sehr geehrte/r Frau/Herr ... wir bestätigen ...
Moeglicherweise sollte ich hier nochmals "charset=UTF-8" unterbringen ("Content-Type: text/plain; charset=UTF-8")?
Code:
-------=8494f9cc7389f5dc37f921f47e2cd8fd
Content-Type: application/pdf
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=schnickschnack.pdf"
Ich befuerchte fast, dass ich jede einzelne Zeile, die in die E-Mail kommt, in das Schema "=?UTF-8?Q?encoded_text?=" wandeln muss. Bitte nicht
Noch zu erwaehnen: Mein X-SpamScore ist ziemlich hoch, mit folgenden Tests:
Code:
X-SpamScore: 4.7
tests= BAD_ENC_HEADER HS_INDEX_PARAM MIME_QP_LONG_LINE
Die anderen beiden Tests sind klar – kennt jemand eine in PHP integrierte Funktion, die automatisch einen Umbruch nach 76 Zeichen einfuegt? Kann auch selber was schreiben, verwende aber lieber hauseigene Funktionen.
Ich kann gerne das Script liefern, wenn das von Belang ist.
Schon mal vielen Dank! Galanos