Чистый код Короткие заметки веб-разработчика

Заголовки для отправки HTML писем через функцию mail в PHP

Постоянно сталкиваюсь с тем, что нужно отправить HTML-письмо, но какие именно заголовки указывать забываю. Поэтому публикую быструю шпаргалку.

Собственно, заголовки для простого HTML письма:

$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";

Если вы используете не utf-8 кодировку — нужно указать свою после charset=…

Так же, если по каким-либо причинам нужно добавить заголовки отправителя, можно ещё добавить:

$headers .= 'From: '.$from."\r\n";

Иногда этого требуют хостинги.

Ну и, собственно, просто отправляет письмо через функцию mail():

mail('neverov12@gmail.com', 'Тема письма', 'HTML-тело письма', $headers);

Обращаю внимание на использование одинарных ковычек. В PHP они отрабатывают быстрее, чем стандартные двойные.

А если у вас более сложное письмо, то лучше использовать библиотеку PHPMailer — она умеет делать всё, что касается отправки писем.