#Что произошло и как распознать неисправность
Письма на адрес вида user@sub.example.com не поступают, хотя почта для example.com работает. DNS-зона поддомена может не содержать MX или MX указывает не туда. Почтовые серверы ищут записи именно домена после символа @; MX родительского домена автоматически не распространяется на почтовые адреса поддомена. Отсутствие MX не всегда означает невозможность приёма: по правилам SMTP возможен переход к A/AAAA того же имени, если не объявлен Null MX. Поэтому различайте реальное отсутствие маршрута, неверный MX, Null MX и недоступность указанного почтового хоста.
#Причины и отличительные признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| MX для поддомена отсутствуетПоддомен не имеет явного адреса почтового приёма, а A/AAAA не ведут к SMTP-службе. | dig MX sub.example.com +short пуст, а отправитель получает connection refused/time-out. | Создать подходящий MX для поддомена в авторитетной DNS-зоне. |
| MX указывает на старый хостПосле переноса почты запись поддомена не обновили. | MX отвечает, но его имя указывает на выключенный сервер или чужой IP. | Заменить целевое имя по инструкции почтового провайдера. |
Установлен Null MXЗапись 0 . явно говорит об отсутствии приёма почты. | В ответе dig MX видно 0 . и сервер отправителя сообщает, что домен не принимает почту. | Удалять Null MX только при решении действительно принимать почту. |
| Почтовый ящик/маршрут на сервере не существуетDNS верен, но сервер не знает адреса поддомена. | Удалённая сторона возвращает 550 unknown user или relay denied. | Добавить домен и ящик в почтовой панели без создания открытого ретранслятора. |
#Пошаговая диагностика и исправление
- Определите фактический домен получателяВозьмите один проблемный адрес, например
test@sub.example.com, и выделите часть справа от @ —sub.example.com. Именно её проверяют на MX. Если вы принимали почту наexample.com, работоспособность этого домена не доказывает, что поддомен обслуживается автоматически. - Проверьте MX и A/AAAA поддоменаВ терминале выполните
dig MX sub.example.com +short, затемdig A sub.example.com +shortиdig AAAA sub.example.com +short. При отсутствии MX сервер отправителя может попытаться подключиться к A/AAAA поддомена. Если MX равен0 ., это преднамеренный отказ от почты согласно Null MX. Не создавайте MX, если поддомен используется только для отправки и принимать письма не планировалось. - Проверьте авторитетную DNS-панельОткройте панель регистратора или DNS-провайдера для зоны, где реально обслуживается поддомен. Если
sub.example.comделегирован отдельными NS, правьте его собственную DNS-зону. Отыщите записи типа MX, выпишите старые значения, приоритеты и TTL; убедитесь, что не проверяете случайно черновую зону, не используемую на публичных серверах. - Уточните нужный почтовый хостВ инструкции почтового провайдера найдите имя MX для приёма на поддомен. Для своего сервера это может быть
mail.example.com, но только если он действительно принимает почту дляsub.example.com. MX должен ссылаться на имя с корректными A/AAAA, а не напрямую на IP. Не создавайте неизвестный сервер по образцу из статьи. - Создайте или исправьте MX без удаления других записейВ DNS-панели выберите «Добавить запись» → тип MX (названия зависят от поставщика), задайте имя поддомена, приоритет, почтовый хост и TTL по инструкции провайдера. В некоторых панелях имя
sub, в других полноеsub.example.com. Перед сохранением проверьте, что интерфейс не добавит суффикс зоны дважды. Не трогайте SPF/DKIM/DMARC при изменении только маршрута входящей почты. - Подключите поддомен к почтовому серверуВ почтовой панели убедитесь, что домен
sub.example.comдобавлен как принимаемый домен и дляtest@sub.example.comесть созданный почтовый ящик или алиас. Если сервер возвращает550 Relay not permitted, настройки DNS уже могут быть правильными, но маршрутизация на MTA не настроена. Не разрешайте relay всем IP и всем отправителям. - Проверяйте маршрут от внешнего резолвераПосле публикации снова выполните
dig MX sub.example.com +shortиdig A mail.example.com +short(замените имя на актуальный MX). Если данные различаются у внешних пользователей, учитывайте TTL и авторитетное состояние. Не следует бесконечно перезапускать почтовую службу ради обновления чужих DNS-кешей. - Отправьте одно входящее письмо на нужный поддоменС внешнего ящика отправьте тест на адрес поддомена и откройте веб-почту этого ящика. При доставке сохраните время и идентификатор сообщения. При NDR выясните, кто ответил: DNS не найден, SMTP-порт недоступен, 550 unknown user или 554 relay denied — это разные проблемы. Если изменения ухудшили работу других адресов, восстановите исходный MX из записи первого этапа.
- Диагностические DNS-запросы на Linux, без sudoLinux · Терминал (Bash)КомандаДиагностические DNS-запросы на Linux, без sudo. Замените sub.example.com на домен после @ адреса получателя. Команды только читают DNS.
dig MX sub.example.com +shortdig A sub.example.com +shortdig AAAA sub.example.com +short
#Как проверить результат и что делать при неуспехе
Проблема решена, если у поддомена корректный почтовый маршрут, принимающий сервер знает нужный ящик и контрольное письмо от внешнего отправителя доставляется. Отсутствие MX при рабочем A/AAAA формально допускает SMTP-доставку, но явный MX надёжнее для инфраструктуры с выделенным почтовым сервером.