Глоссарий
Сбой DNS
DNS-запрос не дал нужных сведений о домене или почтовом маршруте. Отсутствующее имя и временный сбой требуют разных решений.
При проверке email DNS помогает выяснить, существует ли домен и куда направлять его почту. Если запрос не дал нужных сведений, причина может быть разной: имя отсутствует, записи нужного типа нет или ответ получить не удалось. Эти случаи по-разному влияют на status, action и reason_codes в результате Emvero.
Несуществующее имя и неудачный запрос
DNS_NXDOMAIN означает, что запрошенного имени не существует; определение приведено в RFC 2308. Если это сам домен email-адреса, Emvero может вернуть undeliverable и reject без SMTP-пробы. Если NXDOMAIN получен для имени, на которое ведет перенаправление, это проблема маршрута. Такой ответ не доказывает отсутствие исходного домена.
DNS_SERVFAIL сообщает о сбое запроса, DNS_TIMEOUT — об истечении времени ожидания, а DNS_DNSSEC_FAILURE — о неудачной проверке подписанных DNS-данных. Эти ошибки не устанавливают, что домен не принимает почту. Emvero возвращает unknown и allow_with_email_confirmation. Повторный запрос позже может дать ответ. При временной ошибке DNS SMTP также предусматривает отсрочку доставки и повторную попытку; это описано в RFC 5321.
Почему пустой ответ MX не означает отсутствие почты
DNS_NODATA означает, что имя существует, но записи запрошенного типа нет. Это отличается от NXDOMAIN. Например, если у example.com нет MX-записей, SMTP может направить почту на A- или AAAA-адрес самого домена. Emvero проверяет такой неявный маршрут перед выводом о маршрутизации. Пустой ответ на запрос MX не гарантирует ни прием почты, ни появление кода DNS_NODATA в API. Подробности приведены в статье о MX-записях и определении NODATA.
Противоречивые настройки маршрута могут дать DOMAIN_MAIL_ROUTE_MISCONFIGURED. Если пригодного назначения нет, вопрос о ящике тоже остается открытым: Emvero возвращает unknown. Null MX имеет другой смысл: домен явно объявил, что не принимает почту. Порядок проверки этих случаев разобран в статье о домене без MX-записей.
Читайте checks.mail_routing вместе с status, action и reason_codes, чтобы понять, какой вывод удалось сделать. Текущие сведения о маршруте можно получить в инструменте проверки домена. Он не устанавливает существование конкретного ящика.
Что возвращает сервис
Коды причин из закрытого словаря ответа API. Это ровно те строки, против которых интеграция пишет if.
DNS_TIMEOUT - DNS не ответил вовремя
DNS_SERVFAIL - DNS вернул ошибку
DNS_NODATA - DNS-имя существует, но записи запрошенного типа нет
DOMAIN_MAIL_ ROUTE_ MISCONFIGURED - Противоречивая маршрутизация почты
DNS_DNSSEC_ FAILURE - DNSSEC не прошёл проверку