Кодировка темы письма

При отладке скрипта отсылающего письма в UTF-8 столкнулся с проблемой что тема письма не отображается некоторыми почтовыми клиентами. В том числе этим грешит mail.ru — на такое письмо пишет что оно «без темы». Хотя просмотр заголовков показывает что поле Subject в письме наличиствует.

Судя по всему это соблюдение правил RFC и заголовок содержащий коды символов в UTF считает некорректным. И поэтому некоторые читалки почты просто игнорируют такой сабж.

Решается все как всегда просто.
$subject = "=?utf-8?B?".base64_encode($subject)."?=";

Такое преобразование темы письма приводит заголовки письма к стандартам RFC и тема показывается.

Запись опубликована в рубрике Полезности с метками , , . Добавьте в закладки постоянную ссылку.

Добавить комментарий