Ответ
MX-запись (Mail Exchange) — это тип DNS-записи, который указывает почтовым серверам отправителей, на какие именно серверы следует доставлять электронную почту для определенного домена.
Принцип работы:
Когда сервер отправляет письмо на адрес user@example.com, он выполняет DNS-запрос для домена example.com на получение MX-записей. В ответ он получает список серверов с приоритетами и пытается доставить письмо сначала на сервер с наименьшим числом приоритета.
Структура и пример:
example.com. IN MX 10 mail-server-1.example.com.
example.com. IN MX 20 mail-backup.example.com.
- Приоритет (10, 20): Чем меньше число, тем выше приоритет. Отправитель сначала пытается соединиться с
mail-server-1.example.com(приоритет 10). Если он недоступен, происходит попытка доставки наmail-backup.example.com(приоритет 20). - Значение записи: Должно быть полное доменное имя (FQDN) почтового сервера, которое, в свою очередь, должно иметь корректную A или AAAA запись, разрешаемую в IP-адрес.
Важные нюансы для DevOps/SRE:
- Отсутствие MX-записи: Если MX-запись отсутствует, отправители могут попытаться доставить почту на A-запись домена (так называемое "fallback to A"), но это поведение не гарантировано стандартами.
- TTL (Time to Live): Устанавливайте разумный TTL для MX-записей (например, 1 час). Слишком высокий TSL замедлит переход на резервный сервер в случае аварии.
- SPF/DKIM/DMARC: Для успешной доставки и защиты от спама MX-записи должны работать в связке с этими записями, которые указывают, с каких IP-адресов или серверов разрешена отправка писем от имени вашего домена.
- Настройка почтового сервера: Сервер, указанный в MX-записи (например,
mail-server-1.example.com), должен быть настроен принимать почту для доменаexample.com(часто через виртуальные домены в Postfix/Exim).