Php pro bid: письма в нужной кодировке

18.04.2011
ReTweet

Проблематика.
Даже после проведения работ по замене кодировки сайта на php pro bid, дополнения блока языкового перевода, скрипт продолжал отправлять письма с неверным сообщение о кодировке тела письма (к примеру в foxmail5). В общем случае это не столь уж и страшно. Любой мейлер клиент позволяет изменить кодировку полученного письма и корректно прочитать сообщения. Но, хотелось бы закоченности в работе,

удовлетворенности от полученных результатов.

Решение проблемы.

Решение как и всегда после долгих поисков оказалось лежащим на поверхности. Главное – это было найти ту “поверхность” в которой и решалась проблематика поставленного вопроса. В общем случае, функционирование скрипта определяется работой файла includes/functions.php. В нем есть функция отправки мейлов с сайта – function send_mail. Нам нужно чтобы письма отправлялись в правильной кодировке (windows-1251). Находим в этой функции в 2х местах упоминание о кодировке iso-8859-1. Заменяем в notepad на windows-1251.

В той же функции находим упоминание о (так же в 2х местах)

"Content-Transfer-Encoding: 7bit\n". 

Заменяем конструкцию на следующее

"Content-Transfer-Encoding: 8bit\n".

Далее, перед строкой

$params = sprintf("-oi -f %s", $from_email);

прописываем

$subject = "=?windows-1251?b?" . base64_encode($subject) . "?=";

Насколько это верно и правильно не берусь рассуждать. На наших четырех сайтах отрабатывает корректно, пробуйте, оставляйте отзывы и пожелания.

Необходимое уточнение и дополнение. Если все же текст письма в браузере читается нормально, а почтовые клиенты неправильно воспринимают кодировку, то причина может быть только в одном – это неверно выставленная кодировка. Перепроверьте себя еще раз – правильно ли выставлены настройки кодировки отображения сайта, кодировка базы, соединения сайта с базой, все ли файлы почты скорректированы под нужную кодировку. Если  в каком то из моментов вы не до конца выполнили предложенные изменения (поиск по блогу по терминам рулит), то и нечего удивляться, что в каком то моменте появятся ошибки отображения русских букв.

Коротко о сайте.

Блог meganfoxstar.ru поможет вам в Установке и настройке cms Vamshop, PHPProBid, Esyndicat, закрепит и расширит имеющиеся знания. Создание сайтов, продвижение сайтов, оптимизация информации. Теория и практика seo. CSS-верстка, веб-мастеринг, интернет-технологии, манимейкинги – все это и намного больше вы сможете найти на страницах нашего проекта!.

Основной        Дополнит         Twitter
RSS фид основной    RSS фид дополнительный    Всего Фолловеров блога
1006
RSSПодписка на обновления по RSS

Обновления блога по почтеОбновления блога на почтовый ящик