После запуска корпоративной почты чаще всего звучит одна жалоба: «Отправлять письма я могу, а входящие до нас не доходят». В такой ситуации виновата почти всегда MX-запись. Запись MX (Mail Exchanger) сообщает другим почтовым серверам, какому серверу нужно передавать письма для вашего домена. Если она указана неправильно, отправляющий сервер доставит письмо не туда или вовсе не найдёт адресата и после нескольких попыток вернёт письмо отправителю. Ниже разберём шесть причин, которые встречаются на практике чаще всего, и способы их проверить.
Сначала посмотрите текущее состояние
Прежде чем что-то исправлять, нужно узнать, как MX-записи вашего домена сейчас видны всему миру. Для этого достаточно dig или nslookup в Windows. В выводе для каждой MX-записи указаны приоритет и имя почтового сервера. Чем меньше число, тем выше приоритет: отправители в первую очередь пытаются передать письмо именно этому серверу.
dig misol-mebel.uz MX +short
10 mail.misol-mebel.uz.
dig mail.misol-mebel.uz A +short
203.0.113.25
nslookup -type=mx misol-mebel.uz
Причина 1: MX указывает на IP-адрес
Значением MX-записи должно быть имя хоста, а не IP-адрес. Многие вписывают в панель IP сервера напрямую, потому что так сделано в A-записи. Некоторые DNS-панели такую запись примут, но по стандарту MX должна указывать на имя, и многие почтовые серверы считают такую запись некорректной. Правильный порядок — сначала создать A-запись для mail.misol-mebel.uz, а затем указать именно это имя в MX.
Причина 2: у имени из MX нет A-записи или это CNAME
MX может указывать на правильное имя, но если само это имя никуда не ведёт, письмо не будет доставлено. Например, MX указывает на mail.misol-mebel.uz, но A-запись для этого поддомена удалили или она осталась с IP старого сервера. Кроме того, стандарты не допускают, чтобы целью MX был CNAME. Многие серверы всё равно проходят по CNAME, но полагаться на это рискованно, поэтому имя из MX должно иметь собственную A-запись (и при необходимости AAAA).
Причина 3: старые MX-записи не удалены
При смене почтового сервиса новую MX добавляют, а старую забывают. В итоге в зоне оказываются две или больше MX-записей с перемешанными приоритетами. Если у старого сервера число меньше, большая часть писем уходит туда, где ящики уже удалены или их никто не проверяет. Самый запутанный вариант — одинаковый приоритет у обеих записей: письма распределяются случайно, и сотрудники жалуются, что «одни письма приходят, другие нет».
Причина 4: запись добавлена не на то имя или без точки
MX-запись должна быть добавлена на сам домен, то есть на корневое имя, которое в панелях обычно обозначается символом @. Часто её по ошибке добавляют на имя mail или www, и тогда для адреса info@misol-mebel.uz никакой MX не существует. При ручном редактировании файла зоны есть ещё одна классическая ошибка: к имени без точки в конце автоматически дописывается имя зоны.
; неправильно: превратится в mail.misol-mebel.uz.misol-mebel.uz
@ IN MX 10 mail.misol-mebel.uz
; правильно: в конце стоит точка
@ IN MX 10 mail.misol-mebel.uz.
Причина 5: запись изменена не там, где находится DNS домена
Управлять DNS домена можно только там, куда указывают его NS-серверы. Если NS домена направлены, например, на Cloudflare, а вы меняете MX в панели хостинга, это изменение никто не увидит. Особенно часто так бывает, когда сайт и почта находятся у разных провайдеров. Проверка простая: сначала определите NS-серверы домена, а потом запросите MX напрямую у них.
dig misol-mebel.uz NS +short
dig @ns1.misol-dns.uz misol-mebel.uz MX +short
Причина 6: DNS в порядке, но почтовый сервер не принимает домен
Бывает, что MX настроена идеально, а письма всё равно возвращаются. Тогда проблема не в DNS, а на самом почтовом сервере: домен не добавлен на сервер как локальный, нужный ящик не создан или переполнен. Самый полезный источник информации здесь — текст ошибки в вернувшемся письме: «User unknown» означает, что ящика нет, «Relay access denied» — что сервер не знает домен, «Mailbox full» — что закончилось место. Стоит также проверить, отвечает ли сервер на 25-м порту.
nc -vz mail.misol-mebel.uz 25
telnet mail.misol-mebel.uz 25
Пример: мебельный магазин после переноса почты
Мебельный магазин в Ташкенте оставил сайт у прежнего хостинга, а почту перенёс в отдельный корпоративный сервис. Новую MX-запись добавили, но отдел продаж сообщил, что половина писем с заказами не приходит. dig MX показал две записи: новый сервер с приоритетом 10 и старый хостинговый сервер тоже с приоритетом 10. Письма случайно делились между двумя серверами, а ящики на старом сервере никто не открывал. После удаления старой MX и истечения TTL все письма стали приходить на новый сервер, а накопившиеся в старом ящике письма перенесли вручную.
Чего ждать после изменений
После изменения MX отправляющие серверы могут увидеть новое значение не сразу, ведь старый ответ хранится в кэше в течение TTL. Поэтому, планируя перенос почты, полезно за сутки уменьшить TTL записи MX. Хорошая новость в том, что временно недоставленные письма обычно не теряются сразу: отправляющие серверы держат их в очереди и повторяют попытки несколько часов или дней. Если домен и почта находятся в sayt.uz, MX и связанные с ней A-записи можно увидеть и сверить в одном месте — в разделе DNS личного кабинета.