Zdravím,
řeším problém s nesprávným odesíláním (nebo možná přijímáním?) emailů, které posílám ze svého webu. Požadavek je jednoduchý html email s diakritikou a obrázkem v patičce. Potud je všechno v pořádku, ale občas se stane, že email dorazí do cíle, ale neproběhne dekódování z base64, takže adresát dostane naprosto nesrozumitelný blok znaků. Stává se mi to především u adresátů @centrum.cz, ale velmi zřídka i jinde.
Aktuálně se emaily odesílají následujícím způsobem (spolu s odpovídajícíma hlavičkama
$headers = "From: \"Jméno\" <adresa@example.cz>" . "\r\n" .
"Reply-To: adresa@example.cz" . "\r\n" .
"MIME-Version: 1.0" . "\r\n" .
"Content-type: text/html; charset=UTF-8"."\r\n".
// "Content-Transfer-Encoding: 8bit\r\n". (tohle nemá na stav problému vliv, ať je to zakomentované nebo ne)
"X-Mailer: PHP/" . phpversion();
mb_language('Neutral');
mb_internal_encoding("UTF-8");
mb_http_input("UTF-8");
mb_http_output("UTF-8"); // celý web je v utf-8, ale jak říkám, problém není v kódování, ale v base64
return mb_send_mail($addr, $subject, $text, $headers);
Pokud to bude možné, rád bych se vyhnul používání nějakého celého frameworku, jednotlivá knihovna je ok. Alternativně bych viděl řešení v posílání textového A html emailu, nicméně tím bych se stejně nevyhnul problému s dekódováním (afaik).
Určitě se s tím už někdo setkal a určitě to někdo chytrý i vyřešil.
Díky za pomoc.