Статья давно не обновлялась, поэтому информация могла устареть.
Решение проблем с отправкой почты из PHP скриптов
Используйте простой скрипт для отправки почты (см. ниже) для диагностики проблем
Распространенные проблемы:
- Почта отправляется, однако до получателя она не доходит, либо приходит с большой задержкой. PHP работает в режиме PHP как модуль Apache.
В свойствах www-домена проверьте правильность указания поля E-Mail администратора. Скорее всего там указан несуществующий домен, укажите корректный заведенный локально на том же сервере (это важно) почтовый адрес. В случае неверного адреса почта отправляется от www@localhost и антиспам-защита на почтовых серверах не пропускает или задерживает такую почту.
- Не запускается скрипт вообще, выдается сообщение 500 Internal Server Error, PHP работает в режиме как CGI. Либо отправляется, но проблемы аналогичны предыдущему пункту.
Проверьте правильность адреса и исправьте или добавьте в случае отсутствия в пользовательском файле php.ini строку:
sendmail_path = "/usr/sbin/sendmail -t -i -f email@domain.ru"
где email@domain.ru - корректный заведенный локально на том же сервере (это важно) почтовый адрес
Файл php.ini следует искать (можно создать если его нет) в каталоге /home/имя_пользователя_владельца_сайта/data/php-bin/
Простейший скрипт для отправки почты
<?php mail("joecool@example.com", "My Subject", "Line 1\nLine 2\nLine 3"); ?>