Ответ
Протокол SMTP для маршрутизации почты между серверами (Mail Transfer Agent, MTA) строго полагается на MX-записи в DNS. Использование только A-записи для домена сделает его неспособным получать почту извне.
Технические причины:
- Стандарт протокола: RFC 5321 (SMTP) и RFC 974 (Mail Routing) определяют, что отправляющий MTA обязан искать MX-записи для домена-получателя. Если MX-запись не найдена, отправитель может отступить к A-записи, но это поведение не гарантировано и считается устаревшим.
- Приоритет и отказоустойчивость: MX-запись содержит поле приоритета (preference). Это позволяет настроить первичный и резервный почтовые серверы. При недоступности сервера с более высоким приоритетом (меньшим числом) почта будет отправлена на следующий.
- Разделение сервисов: MX-запись может указывать на хост, отличный от основного веб-сервера (например,
mail.example.com), что позволяет разделить инфраструктуру и безопасность.
Пример корректной DNS-зоны для домена example.com:
example.com. IN A 203.0.113.10 ; IP основного веб-сервера
example.com. IN MX 10 mail1.example.com. ; Первичный почтовый сервер (приоритет 10)
example.com. IN MX 20 mail2.example.com. ; Резервный почтовый сервер (приоритет 20)
mail1.example.com. IN A 203.0.113.20
mail2.example.com. IN A 203.0.113.21
Проверка с точки зрения DevOps:
# Проверяем MX-записи для домена
$ dig example.com MX +short
10 mail1.example.com.
20 mail2.example.com.
# Проверяем, могут ли внешние серверы найти наш почтовый сервер
$ host -t mx example.com