На большинстве сайтов email-сообщения используются для отправки пользователям различных уведомлений, иногда с их отправкой возникают проблемы. Если вы не собираетесь рассылать откровенный СПАМ, то в этой статье разберем некоторые проблемы, возникающие при отправке почты с сайта и их решения.
1) Для начала необходимо убедиться, что отправка почты вообще работает, для этого создайте на сервере файл testmail.php со следующим содержимым:
<? $mailto = "your-email@mail.ru"; //ваша эл. почта mail($mailto, "Тестовое письмо", "Sendmail работает!") or die("Ошибка"); echo "Проверь почту"; ?>
Проверьте пришло ли письмо, не забудьте заглянуть в папку Спам.
Если при отправке выдало сообщение "Ошибка", то есть две основные причины:
на сервере заблокирована/отключена функция mail (для устранения обратитесь в поддержку хостинг-провайдера). Чаще всего на shared-хостинге хостинг-провайдер ограничивает отправку почты в случае обнаружения вредоносного ПО.
почтовый сервер отсутствует или не настроен. Например, на VPS сервере почтовый сервер может быть не установлен.
2) Сообщения отправляются, но попадают в Спам.
Для решения этой проблемы необходимо настроить подпись DKIM, добавить SPF и PTR записи. Для проверки корректности настройки воспользуйтесь сервисом Mailtester. Ваша цель - получить оценку от сервиса 10/10, но даже это не гарантирует 100% доставки писем.
3) Проверьте очередь отправки сообщений и логи почтового сервера, возможно там вы найдете для себя некоторые подсказки относительно проблем с доставкой ваших сообщений адресатам. Вот некоторые из них:
Ошибка | Возможные причины |
---|---|
Unrouteable address |
Попытка отправить сообщение на несуществующий адрес. Часто наблюдается при неверном конфигурировании почтового сервера, например при отправке писем на локальный адрес и использовании внешних сервисов почты для домена, т.к. локальный адрес не существует на почтовом сервере, а заведен на внешнем сервисе |
554 Client host blocked retry timeout exceeded |
- Порт SMTP для отправки сообщений заблокирован - Проблемы со спам-фильтром - Почтовый ящик заполнен |
550 No such user! 550 Message was not accepted -- invalid mailbox. Local mailbox email@example.ru is unavailable: user not found
550 The email account that you tried to reach does not exist.
550 ... User unknown
550 Recipient unknown
501 Bad recipient address syntax |
Письмо отправлено на несуществующий адрес. Проверьте корректность указанного адреса, уточните адрес у получателя.
501 Bad recipient address syntax |
552 Mailbox size exceeded 552 Mailbox size limit exceeded |
Почтовый ящик получателя переполнен. Скорее всего получатель редко открывает почту и ящик забился рассылками |
550 Message was not accepted -- invalid mailbox. Local mailbox email@example.ru is unavailable: account is disabled 550 Message was not accepted -- invalid mailbox. Local mailbox email@example.ru is unavailable: user is terminated
Policy rejection on the target address |
Возможная причина - блокировка учетной записи получателя за нарушение правил почтового сервиса |
550 relay not permitted | Не корректно настроены MX-записи для домена |
550 Host in a black list
SMTP error from remote mail server after pipelined sending data block: 550 5.7.0 Blocked |
Ваш IP попал в черный список, для устранения необходимо связаться с поддержкой почтового сервиса, с которого приходит данный отбойник, с просьбой убрать адрес из черного списка. |
550 Requested action not taken: mailbox unavailable
|
Общий отбойник, который может говорить как о том, что письмо отправляется на не корректный адрес, так и о ошибке во время отправки из-за разрыва соединения, или о том, что принимающий сервер отказывается принимать сообщения с вашего ящика. Повторная попытка отправки письма может быть удачной. |