Отправка почты средствами php
Для отправки почты всегда можно подключить класс вроде PHPMailer. Но что если не хочется для такого простого действия тащить лишнюю библиотеку, а стандартная функция mail() отправляет некрасивые заголовки. Рассмотрим расширенную на пару строк функцию mail(), которая избавляет от этой проблемы
Главная проблема при использовании стандартной функции mail() - это правильные заголовки. Напишем функцию
function sendMail($subj, $from_site, $from_email, $to_email, $message) {
$headers = "Content-type: text/html; charset=utf-8 \r\n";
$headers .= 'From: =?utf-8?B?' . base64_encode($from_site) . '?=<' . $from_email . '>';
return mail($to_email, $subj, $message, $headers);
}
$message = 'Поздравляем! Вы успешно зарегистрировались на сайте mysite.com'
if (sendMail('Регистрация на сайте mysite.com', 'Интернет-магазин игрушек mysite.com', 'noreply@mysite.com', 'test@yandex.ru', $message))
echo 'Письмо успешно отправлено!';
else
echo 'Что-то пошло не так...';
Главное отличие этого примера от отправки mail() без последнего параметра заключается в том, что теперь мы можем сами указывать в качестве отправителя письма нужные значения, например. И тогда получивший письмо в своем почтовом клиенте в поле От кого увидит не страшную надпись вроде "andrey.petrov@provider-name.com" (из собственного опыта), а вполне человеческое "Интернет-магазин одежды и обуви Рога и Копыта"
Истории из жизни айти и обсуждение кода.