Autor | Zpráva | ||
---|---|---|---|
AM_ Profil |
#1 · Zasláno: 3. 11. 2009, 15:31:32
Zdravím,
narazil jsem na divnou věc v PHPMaileru. Soubory mám kódované ve windows-1250, proto při inicializaci PHPMaileru nastavím $mail->CharSet="windows-1250", nacpu do něj odesilatele, předmět, tělo zprávy a odešlu. Donedávna vše šlapalo jak hodinky, ale dnes si jeden uživatel stěžoval, že mu zpráva došla s rozbitým jménem odesílatele (místo Tomáš přišlo Tomá). První mě napadlo, že jsem něco pohnojil v kódování hlaviček, tak jsem si zobrazil zdrojové kódy některých mailů, které mi z tohoto systému chodí, a odtud to začíná být divné - hlavičky jsou tam kódované iso-8859-2 popř. us-ascii Příklad: To: =?us-ascii?Q?Jmeno=20Prijmeni?= <...@seznam.cz> (jméno bez diakritiky) Reply-To: =?iso-8859-2?Q?Ale=B9=20?= <...@seznam.cz> (jméno s diakritikou) Je možné, že SMTP servery po cestě mi změní kódování hlaviček? PHPMailer je v tom podle mě nevině, procházel jsem jeho kód a vypadá, že do hlavičky vždy dosazuje kódování těla zprávy. Případně setkal jste se někdo s podobným problémem a jak jste ho řešili? pořád mi nejde do hlavy, proč to komusi přišlo ve špatném kódování; já mám vše ve win-1250 a tak to taky phpMaileru předávám, tak nevím, co se kde mohlo polámat. |
||
Časová prodleva: 4 dny
|
|||
Davex Profil |
#2 · Zasláno: 7. 11. 2009, 19:21:14
Odesílej všechna pole ve stejném kódování nebo v us-ascii. Některé poštovní servery (např. Lotus Domino a starší MS Exchange) mohou mít problém se zpracováním e-mailu v různých kódováních a potom jsou schopny totálně pohnojit i tělo zprávy a české znaky nahradí třeba čínskými.
Poštovní servery v případě potřeby mění způsob kódování z 8 bitového na Quoted Printable, ale tato změna by neměla ovlivňovat diakritiku. |
||
Časová prodleva: 14 let
|
0