Отправка почты из PHP возможна и она легка в реализации – это одна сторона медали. Вторая сторона, что по-моему это одна из самых спамерских функций во всех языках программирования. Но мы будем изучать ее с «хорошей» стороны.

Именно функция mail отвечает за отправку писем из PHP (хотя есть и другие, но рассмотрим сейчас самую легкую). На вход функции mail подается от 3 до 5 параметров:

$to: Email-адрес кому мы отсылаем сообщение
$subject: Тема письма
$message: Текст письма
$additional_headers: Заголовки письма
$additional_parameters: Дополнительные параметры

C первыми тремя параметрами думаю всё понятно, рассмотрим 2 необязательных параметра.

Заголовки письма добавляются по спецификации RFC2822, чтобы что-то понять, надо штудировать сотни страниц английского текста, рассмотрим основные, которые могу пригодиться

From: info@generalit.ru – указывает с какого Email приходит сообщение
Reply-To: admin@generalit.ru – указывает на какой Email должно отсылаться письмо при ответе

Content-type: text/plain; charset=Windows-1251 – указывает тип сообщения и кодировку, если хотите чтобы в письме был HTML, то вместо text/plain укажите text/html

X-Priority: 1 (Higuest) – приоритет сообщения
X-Mailer: CMS-Kolibry – почтовая программа, отправившая сообщение

Со последним параметром не всё так однозначно, применение нашел только когда пользовался услугами хостинга руцентра, там при использовании это функции в поле «ОТ» стоял адрес руцента, помог именно этот параметр, если указать «-finfo@generalit.ru», то будет корректно отображать поле «ОТ».

Рассмотрим пример отправки

1
2
3
4
5
6
7
8
9
10
$to = "admin@phpprogs.ru";
$subject = "Тема письма";
$message = "Текст сообщения";
$headers = "From: info@generalit.ru\r\n".
"Content-type: text/plain; charset=Windows-1251\r\n";
$ok = mail ($to, $subject, $message, $headers);
if ($ok === false)
echo "Письмо отправлено";
else
echo "Ошибка при отправке письма";

www.phpprogs.ru