Отправка e-mail в русской кодировке средствами PHP

Почта является основным средством общения для миллионов пользователей интернета.Большинство пользователей интернета привыкли именно к этому виду общения,поэтому для успешной разработки сайтов необходимо владеть приемами отправки и получения почты через PHP.

Отправка почты средствами PHP осуществляется при помощи функции mail(),которая имеет следующий синтаксис:
mail($to, $subject, $body [, $headers] [. $parameters])
Эта функция принимает следующие аргументы:
- $to - адрес электронной почты получателся;
- $subject - тема сообщении;
- $message - текс сообщении;
- $headers - дополнительные заголовки,которые можно задать в сообщении;
- $parameters - дополнительные параметры,которые можно задать в сообщении.
Если не указывается четвертый параметр $headers,письмо не снабжается никакими дополнительными почтовыми заголовками.Однако очень часто требуется изменить формат письма с обычного текст (text/plain) на HTML-формат(text/html) или указать кодировку сообщения.

Установка формата письма и его кодировки осуществляются при помощи почтовых заголовков Content-Type и charset соответственно.
Content-Type: text/html; charset=KOI8-R\r\n
Для отправки почтового сообщения в кодировке cp1251 вместо KOI8-R следует прописать windows-1251.
Таким образом,скрипт,выполняющий отправку почтового сообщения,может выглядеть так,как это представлено ниже.

При получении письма в качестве отправителя будет подставлен адрес сервера.Для того чтобы избежать этого,в качестве обратного адреса можно назначить произвольный адрес при помощи почтового заголовка From:
From: name
Вместо name указывается имя,которое будет отображаться клиентским почтовым агентом как имя отправителя,а e-mail содержит обратный почтовый адрес.Так,строки формирования переменной $headers могут выглядеть следующим образом:

При отправке электронного письма,снабженного почтовыми заголовками,которые были представлены выше,будут представлены как письмо от пользователя server с электронным адресом someone@live-code.ru