База знаний хостинга
Не отправляется почта через функцию mail()
<-- назад к списку вопросовМы рекомендуем использовать SMTP для отправки почты, но часто есть необходимость в использовании именно mail().
Для отправки писем через функцию mail() необходимо указывать корректный адрес отправителя в заголовке From (от кого).
* Корректный адрес - это существующий почтовый ящик на вашем домене.
Например:
From: no-reply@mydomain.ru - правильно (ящик no-reply@mydomain.ru должен быть создан в панели управления хостингом).
From: victor_bozofff@mail.ru - неправильно.
Пример вызова функции mail с указанием адреса отправителя:
Пример 1
mail('кому@example.com', 'Тема письма', 'Сообщение', null,
'-fno-reply@mydomain.ru');
Пример 2
$to = 'кому@example.com';
$subject = 'Тема письма';
$message = 'Сообщение';
$headers = 'From: no-reply@mydomain.ru' . " " .
'Reply-To: viktоr_bоzоfff@mail.ru' . " " .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
В данном примере в Reply-To можно указать любой почтовый ящик. У получателя такого письма при нажатии на кнопку "Ответить" в почтовом клиенте именно этот ящик подставится в поле "Кому".