#Что произошло и как распознать неисправность
Удалённый SMTP-сервер отвечает на передачу письма строкой 550 Sender verify failed или близким текстом. Обычно принимающий сервер не смог подтвердить адрес отправителя в SMTP-конверте (MAIL FROM), но точное поведение зависит от его почтовой программы и политики проверки. Ошибка может возникать на вашем промежуточном SMTP, а не у конечного адресата. Значение поля From в видимой части письма и адрес SMTP-конверта могут различаться. Изменение только отображаемого имени отправителя не исправит неверный MAIL FROM, отсутствующий обратный маршрут или политику проверки.
#Причины и отличительные признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Неверный envelope senderСайт посылает письмо от несуществующего ящика или домена, которого почтовый сервер не обслуживает. | В журнале/SMTP-диалоге MAIL FROM показывает адрес, отличный от ожидаемого. | Задать действительный адрес возврата и соответствующий домен в SMTP-настройках сайта. |
| DNS домена не позволяет проверить отправителяСломаны MX/A, домен отвечает NXDOMAIN, неправильный Null MX либо почтовый маршрут. | dig MX/dig A не возвращает нужной инфраструктуры; принимающий сервер не может маршрутизировать ответ. | Исправить записи и приём возвратов для выбранного MAIL FROM. |
| Политика проверки отправителя на EximACL проверяет sender verification и отклоняет адрес, не проходящий маршрутизацию. | В журнале Exim/ответе SMTP упоминается sender verify, а команда exim -bvs объясняет маршрут. | Исправить адрес/маршрут или конкретное правило после анализа, не отменяя всю проверку. |
| Временная ошибка DNS принимается за постояннуюНа этапе проверки отправителя DNS временно недоступен, некоторые политики возвращают отказ. | Повторный запрос работает, а в журнале есть DNS lookup failure. | Исправить DNS-связность сервера и проверить retry, не отключая фильтрацию. |
#Пошаговая диагностика и исправление
- Сохраните ответ с указанием SMTP-этапаОткройте уведомление о недоставке, выделите строку
550 Sender verify failed, имя сервера, время и этап SMTP (MAIL FROMлибоRCPT TO). Если это отправка из сайта, найдите по времени исходящий журнал в панели хостинга. Запишите envelope sender, скрывая личные данные; это более полезно, чем только заголовок From. - Сравните видимого и технического отправителяВ настройках плагина SMTP, почтового компонента CMS или приложения посмотрите адрес «От кого» и адрес возвратов/Return-Path, если он явно задаётся. Для писем с сайта используйте принадлежащий вам действующий адрес, например
noreply@your-domain.example, но только если он действительно обслуживается вашим доменом. Не подставляйте адреса Gmail/Outlook в качестве произвольного MAIL FROM с собственного сервера. - Проверьте DNS технического домена отправителяВ терминале Linux выполните
dig MX example.com +shortиdig A example.com +shortпосле замены домена. Если MX отсутствует, SMTP по стандарту иногда использует прямые A/AAAA записи; пустой MX не всегда ошибка. Если указан специальный MX0 ., домен явно объявляет, что не принимает почту. Если ответ NXDOMAIN, адрес в MAIL FROM требует исправления. - Узнайте, кто отклонил отправителяСравните имя SMTP-хоста из NDR со своим отправляющим сервером. Если отказ формирует ваш Exim при приёме письма от приложения, изучите его ACL. Если отказ удалённый, менять ACL своего Exim обычно бессмысленно: нужно удовлетворить политику удалённого получателя либо согласовать с ним диагностику.
- На Exim проверьте маршрутизацию конкретного адресаЕсли используется Exim и у вас есть административный доступ, выполните
sudo exim -bvs sender@example.com, заменив адрес реальным envelope sender. Флаг-bvsпроверяет возможность адреса выступать отправителем в конфигурации Exim; это не отправка сообщения. Посмотрите текст о routers/verify. Если Exim не установлен, не устанавливайте его ради теста на работающий Postfix. - Исправьте подтверждённый адрес или DNS, затем повторите пробуЕсли адрес не существует, создайте обслуживаемый отправляющий ящик/алиас с корректным приёмом возвратов через панель почты либо настройте приложение на уже существующий адрес. Если нет DNS, сначала исправьте авторитетные записи; сохраните старые записи и дождитесь распространения. Если ошибка в Exim ACL, сделайте копию его конфигурации и согласуйте узкую правку; полностью убирать sender verification нежелательно.
- Проверьте, не возникла ли новая ошибка аутентификацииПосле исправления MAIL FROM отправьте один тестовый образец и изучите SPF, DKIM, DMARC в заголовках. Даже если sender verify больше не срабатывает, несоответствие SPF или домена подписи может привести к другому отказу. При 550 после исправления читайте новый текст и проверяйте тот же удалённый сервер.
- Подтвердите получение обратных уведомленийОтправьте письмо на контролируемый адрес, затем убедитесь, что возвраты недоставки приходят в выбранный технический ящик. Если они уходят в никуда, это затрудняет диагностику и может приводить к накоплению очереди. Если тест не прошёл, верните исходные настройки отправителя и передайте администратору полный ответ SMTP и вывод
-bvsбез личной переписки. - Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
#Как проверить результат и что делать при неуспехе
Успех — новый SMTP-диалог не возвращает 550 Sender verify failed, письмо доставляется и технический отправитель принимает уведомления о недоставке. Если ответ теперь другой, не применяйте решение вслепую: записывайте новый код и устраняйте соответствующую причину.