4.7 Настройка PHP-mail, Sendmail – отправка почты скриптом
Для того чтобы письма, отправленные скриптами сайтов при помощи PHPmail доходили на все ящики и не попадали в спам, нужно отправлять такие письма с указанием отправителя любого ящика, созданного на этом вашем же домене, а не ящики на @gmail, @ya.ru, @mail.ru и другие:
Если сайт работает в режиме PHP Apache как на скрине выше, то изменить ящик можно в разделе WWW-домены в свойствах домена в поле email администратора. Если сайт работает в режиме PHP CGI тогда изменить ящик можно в файле label php-bin/php.ini в строке:
sendmail_path = "/usr/sbin/sendmail -t -i -f yachshik@domen.com"
При этом, желательно указывать реально созданный существующий ящик. Рекомендуем имя ящика указывать уникальным, и не указывать webmaster в качества имени ящика, т.к. из-за этого могут возникнуть проблемы с отправкой писем.
Существует легкий способ проверки работоспособности PHPmail сайта и правильности настроек домена в панели управления хостингом: Нужно создать в папке вашего сайта текстовый файл mail.php с таким содержимым:
<?php
var_dump(mail("support@thehost.com.ua","Test","Test"));
?>
Вместо support@thehost.com.ua нужно указать ваш какой-то рабочий ящик, в котором вы сможете проверить доходят ли письма созданным скриптом.
Затем просто запустите в браузере созданный файл по ссылке ваш_домен/mail.php и если все работает - получите ответ bool true, и на указанный Вами ящик придет письмо с темой Test и телом письма test. Если не работает - получите bool false и письмо не придет.
В таком случае попробуйте изменить настройки сайта согласно указанным выше рекомендациям и также попробуйте сменить режим php для сайта и повторить попытку.
Учтите: если все же тестовый скрипт работает, но Ваш личный скрипт не работает, тогда дело не в настройках домена либо хостинга, а в коде вашего скрипта и по данному вопросу нужно обращаться к разработчику вашего сайта либо в веб-студию.
При настройке sendmail нужно указывать параметры доступа к ящику (имя почтового сервера/IP, сам ящик и пароль от него). Если ящик создан на том же сервере - имя сервера нужно указать только localhost, иначе подключение не будет работать.
Для того чтобы использовать выделенный IP-адрес для отправки письма скриптами, нужно установить этот выделенный IP для WWW-домена и для почтового домена и использовать email отправителя, о котором написано выше, созданный на почтовом домене, который настроен на этом выделенном IP.