“Outlook pro vás…” Ne, děkuju!
Únor 25th, 2008
Tak dneska sem opět musel dělat jednu věc, kterou prostě nerad dělám. Odesílat z PHP mail. Protože šlo o primitivní odeslání předem připraveného textu, tak sem čekal, že to bude hned. Vedle, jak ta jedle. :)
Outlook je úžasný. Skvěle se synchronizuje s možnými i nemožnými periferiemi, obsahuje kalendář, atp. Ale? Ale je to MS-soft :) Takže kromě výborných propracovaných funkcí, o kterých Petr tady na blogu už nejednou básnil, obsahuje i funkce, které jsou naprosto na prd. Jednou z nich je i „Outlook pro vás odebral přebytečné konce řádků“. Odeslal sem mail klasickou PHP funkcí mail(). Konce řádků jsem použil „\n“ (podle normy) a čekal, až přijde testovací mail. Mail přišel, ale některé konce řádků zrušil. Grrrr…
Po chvilce pokusničení stylem „Try&Die“ jsem našel „řešení“. Konce řádků „\n“ jsem nahradil kombinací „\t\n“ („\n\n“ funguje podobně, ale přidá další řádek – což ve většině případů vadí, „\0\n“ nefunguje) a, světe div se, ono to zafungovalo. V tomhle případě naštěstí tabulátory na konci řádků nevadí, ale je to nepříjemné.
Jistě, šlo by to vyřešit přes HTML mail (ručně nebo přes třídu MIMEMail), ale tahat těžkotonážní class kvůli pár řádkům mi přišlo zbytečné.
Home
Březen 6th, 2008 at 19.41
<texy>Jen dotaz? V jakem kodovani jsi mail odesilal? Jeste jsem s timhle nesetkal :o)
Btw. Uz jsem ti ukazoval Outlook Web Access?
Březen 6th, 2008 at 19.43
$header .= „Content-Type: text/plain; charset=utf-8\n“;
$header .= „Content-Transfer-Encoding: 8bit\n“;
$mail = mail($to,„=?utf-8?B?“.base64_encode($title).„?=“,$msg,$header);