Проблема форматирования почты PHP - Почему окончания строк заголовка CRLF нарушают работу электронной почты HTML в Outlook?
Я использую PHP роднойmail()
функция отправки электронных писем в формате HTML и проблемы с форматированием в наиболее распространенном почтовом клиенте пользователя -Outlook 2007 (в дополнение к некоторым другим почтовым клиентам) - все html-теги открыты, так что это выглядит как бред для не-веб-разработчика.
Я отправляю электронную почту в формате HTML так же, какРуководство по PHP демонстрирует это Пример:
$message = get_HTML_email_with_valid_formatting();
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";
$headers .= "From: example.com <[email protected]>\r\n";
$headers .= "Reply-To: [email protected]\r\n";
mail('[email protected]', 'test', $message, $headers);
Поскольку тестировать различные почтовые клиенты сложно, я подписался наhttp://litmusapp.com/ так что я могу видеть скриншот писем в 47 разных почтовых клиентах. Большинство из них в порядке (например, gmail, thunderbird, Lotus Notes), но все разные версии Outlook не в порядке.
Чтобы решить проблему с форматированием, я должен был сделать следующее:
Удалить$headers = "MIME-Version: 1.0\r\n";
заголовок письма.Убедитесь, что я заканчиваю свои заголовки только "\n
" вместо "\r\n
».Кто-нибудь знает, почему я получаю лучшие результаты с электронными письмами HTML, когда я не подчиняюсь руководству?
Информация:
я используюпостфикс версия 2.3.3 на RHEL 5.5.Версия PHP 5.3.2