MX-запись (почтовый обмен)

Типы DNS-записей
Запись DNS, указывающая почтовые серверы, принимающие письма для домена.
← Вернуться к глоссарию

Что такое MX-запись?

MX (Mail Exchange) — тип записи DNS, указывающий, какие почтовые серверы принимают почту для домена. Когда отправитель посылает письмо на [email protected], его сервер запрашивает MX-записи example.com и определяет, куда доставить сообщение.

Как работают MX-записи

Процесс доставки почты:

1. Отправитель составляет письмо для [email protected]

2. Сервер отправителя запрашивает в DNS MX-записи example.com

3. DNS возвращает одну или несколько MX-записей с приоритетами

4. Отправитель подключается к почтовому серверу с наивысшим приоритетом

5. Если он недоступен, отправитель пробует сервер со следующим приоритетом

6. Письмо доставляется или ставится в очередь для повторной попытки

Формат MX-записи

example.com.    IN    MX    10    mail.example.com.

example.com. IN MX 20 mail-backup.example.com.

Компоненты:

Номера приоритета

Приоритет определяет порядок проверки серверов:

Меньшие числа означают более высокий приоритет. Во многих конфигурациях используют шаг 10, чтобы позже можно было вставить дополнительные серверы.

Распространённые конфигурации MX

Самостоятельный хостинг почты

@    IN    MX    10    mail.example.com.

mail IN A 203.0.113.50

Рабочая почта Google Workspace

@    IN    MX    1     aspmx.l.google.com.

@ IN MX 5 alt1.aspmx.l.google.com.

@ IN MX 5 alt2.aspmx.l.google.com.

@ IN MX 10 alt3.aspmx.l.google.com.

@ IN MX 10 alt4.aspmx.l.google.com.

Microsoft 365

@    IN    MX    0     example-com.mail.protection.outlook.com.

Почта Zoho Mail

@    IN    MX    10    mx.zoho.com.

@ IN MX 20 mx2.zoho.com.

@ IN MX 50 mx3.zoho.com.

Требования к MX-записям

Цель должна быть именем хоста

MX-записи должны указывать на имена хостов, а не на IP-адреса:

# Correct

@ IN MX 10 mail.example.com.

# Incorrect - won't work

@ IN MX 10 203.0.113.50

Цель должна иметь запись A или AAAA

Имя почтового сервера должно разрешаться в IP-адрес:

@      IN    MX    10    mail.example.com.

mail IN A 203.0.113.50

Нельзя использовать цель CNAME

MX-записи не должны указывать на CNAME-записи (RFC 2181):

# Avoid this

mail IN CNAME host.provider.com.

@ IN MX 10 mail.example.com.

Проверка MX-записей

С помощью dig:
dig example.com MX

; ANSWER SECTION:

example.com. 300 IN MX 10 mail.example.com.

example.com. 300 IN MX 20 mail-backup.example.com.

С помощью DomScan:
curl "https://domscan.net/v1/health?domain=example.com"

# Returns hasMX: true/false in DNS details

MX-записи и безопасность почты

MX работают вместе с другими записями аутентификации почты:

ЗаписьНазначение
MXМаршрутизация входящей почты
SPFРазрешение серверов отправки
DKIMПодпись исходящих сообщений
DMARCПрименение политики

Для корректной работы почты и доставки следует настроить все четыре записи.

Устранение проблем MX

Нет MX-записей

Если MX-записей нет, некоторые серверы используют поиск записи A, но это ненадёжно. Всегда настраивайте явные MX-записи.

Неправильный приоритет

Если у резервного сервера приоритет ниже, то есть число выше, чем предполагалось, он не будет получать почту, пока основной сервер не выйдет из строя.

Ошибка разрешения имени хоста

Если имя хоста цели MX не разрешается, доставка почты завершается ошибкой. Проверьте наличие A-записей для имён почтовых серверов.

Учёт TTL

При миграции между почтовыми провайдерами заранее уменьшите TTL MX-записей для ускорения распространения, а после миграции верните обычные значения.

Лучшие практики

1. Всегда настраивайте MX-записи: не полагайтесь на резервный поиск A-записи

2. Настраивайте резервные серверы: используйте несколько MX с разными приоритетами

3. Проверяйте разрешение цели: у имён почтовых серверов должны быть A-записи

4. Внедряйте аутентификацию почты: добавляйте SPF, DKIM и DMARC вместе с MX

5. Контролируйте доставку почты: используйте инструменты для проверки MX-конфигурации

Применяйте эти знания на практике

Используйте API DomScan для проверки доступности доменов, их состояния и многого другого.