![]() | ||||||
Главное меню Подписка на рассылку новых статей IT-Guru.info Через сервис Subscribe.Ru: Через сервис FeedBurner: Рассылка выходит автоматически раз в сутки с мая 2008 года |
Отправка e-mail в русской кодировке средствами PHP
Тело письма может быть текстом в любой кодировке. Немного сложнее дело обстоит с составляющими заголовка письма (Subject, From, To), они по стандарту должны быть в US-ASCII. Использование в заголовках кодированного текста регламентируется стандартом RFC-2047. Стандарт задает две возможные формы кодирования - BASE64 и Quoted-Printable. BASE64 более универсальна и работает в том числе для кодировки UTF-8, поэтому мы выбрали именно эту форму. MIME-совместимый почтовый клиент обязан уметь читать обе формы. Далее код функции, который достаточно схематичен:
<?phpМы определили собственную функцию mime_header_encode() для преобразования каждого заголовка в MIME-совместимый формат, несмотря на то, что в PHP предусмотрена аналогичная функция mb_encode_mimeheader(). От встроенной функции нам пришлось отказаться, так как на нашем сервере (PHP 5.1.6) она работает некорректно (возвращает неверный результат). Использование описанной функции достаточно простое, см. пример ниже. В случае, если кодировка отправки письма отличается от текущей кодировки данных, используется iconv() для преобразования кодировки.
<?php
Оцените эту статью. Ваш голос позволяет нам отбирать дейтсвительно нужные статьи! Комментарии Добавить комментарий | |||||
| Copyright by © IT Guru team, 2004-2010 |