uCheckeruChecker

MX-запись: как DNS направляет почту на нужный сервер

MX-запись (Mail Exchange record) - это тип DNS-записи, который сообщает отправляющему серверу, куда доставлять почту для конкретного домена. Когда MTA хочет отправить письмо на адрес user@example.com, он запрашивает MX-записи домена example.com и получает имя почтового сервера, который принимает входящую почту.

Структура MX-записи

MX-запись состоит из двух частей: приоритета (preference) и имени хоста. Приоритет - целое число. Чем меньше число, тем выше приоритет.

example.com. IN MX 10 mail1.example.com.

example.com. IN MX 20 mail2.example.com.

example.com. IN MX 30 mail3.backup.com.

В этом примере отправляющий MTA сначала попробует доставить письмо на mail1.example.com (приоритет 10). Если этот сервер недоступен, MTA обратится к mail2.example.com (приоритет 20). Последним в очереди стоит резервный сервер mail3.backup.com (приоритет 30).

Приоритеты и балансировка

Если у нескольких MX-записей одинаковый приоритет, MTA распределяет нагрузку между ними случайным образом. Это простой способ балансировки:

example.com. IN MX 10 mail1.example.com.

example.com. IN MX 10 mail2.example.com.

Примерно половина входящей почты пойдёт на mail1, вторая половина - на mail2. Это не точная балансировка (в отличие от round-robin DNS), но для почты работает достаточно хорошо.

MX, A-записи и доставка

MX-запись ссылается на имя хоста, а не на IP-адрес. Поэтому для каждого хоста, указанного в MX, должна существовать A-запись (или AAAA для IPv6), которая разрешает это имя в IP.

Если у домена нет MX-записей вообще, RFC 5321 предписывает использовать A-запись самого домена как fallback. То есть MTA попробует доставить почту напрямую на IP, указанный в A-записи. На практике это ненадёжная конфигурация: не все MTA следуют этому правилу, и часть почты потеряется.

Null MX

Если домен не принимает почту, рекомендуется установить «null MX» (RFC 7505):

example.com. IN MX 0 .

Точка вместо имени хоста означает: «Этот домен не принимает email». MTA, поддерживающие RFC 7505, сразу вернут ошибку отправителю вместо попыток доставки. Это чище, чем отсутствие MX-записи.

Типичные ошибки настройки

  • MX указывает на CNAME. RFC 2181 запрещает это. MX должна ссылаться на A-запись, а не на алиас. Некоторые серверы могут обработать такую конфигурацию, но это не гарантировано.
  • MX указывает на IP. MX-запись должна содержать имя хоста, а не IP-адрес. Запись вида «MX 10 192.168.1.1» невалидна.
  • Нет A-записи для MX-хоста. MX ссылается на mail.example.com, но A-запись для mail.example.com не создана. Письма не будут доставлены.
  • Резервный MX без настроенной почты. Указан backup MX, но на нём не настроен приём почты для этого домена. При отказе основного сервера письма принимаются, но не доставляются.

MX-запись в валидации email

Проверка MX-записей - один из первых этапов валидации email-адреса. Если у домена нет MX-записей (и нет fallback A-записи), письмо невозможно доставить. Адрес на таком домене гарантированно невалиден.

Кроме самого наличия MX, валидатор проверяет, разрешается ли указанный хост в IP-адрес, доступен ли сервер по порту 25. Это позволяет отсеять домены с «мёртвыми» MX-записями, которые формально существуют, но фактически не работают.

Для массовых рассылок MX-проверка экономит ресурсы: нет смысла тратить SMTP-запросы на адреса доменов, у которых почтовая инфраструктура не настроена.

uChecker проверяет MX-записи каждого домена в вашем списке. Отсутствие MX, нерабочий сервер, null MX - всё это определяется автоматически ещё до SMTP-верификации адреса.

MX-записьDNSмаршрутизация почтыприоритетдомен
← Глоссарий