Открыть сервис

MX запись

MX-запись (Mail Exchanger record) — это тип ресурсной записи системы доменных имён (DNS), который определяет почтовый сервер, отвечающий за приём электронной почты для данного домена. MX-запись указывает, на какой хост (или хосты) следует направлять письма, адресованные пользователям домена (например, user@example.com). Помимо имени сервера, запись содержит приоритет (preference value), который задаёт порядок использования серверов при их множественности: чем меньше числовое значение приоритета, тем выше приоритет сервера.

История и стандартизация

MX-запись была введена в 1986 году в рамках спецификации RFC 974 (автор — Крейг Партридж) для замены более раннего механизма доставки почты, основанного на записях типа A (адрес хоста). До появления MX-записей почтовые серверы для домена определялись по записи A самого домена, что не позволяло гибко настраивать маршрутизацию и резервирование. Стандарт MX-записей был уточнён и расширен в последующих RFC, включая RFC 1035 (1987), который закрепил формат DNS-сообщений, и RFC 5321 (2008), описывающий протокол SMTP. Сегодня MX-запись является неотъемлемой частью инфраструктуры электронной почты в интернете.

Структура и синтаксис

MX-запись в зонном файле DNS выглядит следующим образом:

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

Каждый элемент записи имеет строгое значение:

  • Имя домена (example.com.) — домен, для которого настраивается почтовый обмен. Если имя не заканчивается точкой, DNS-сервер автоматически дописывает имя текущей зоны.
  • Класс (IN) — стандартный класс интернет-ресурсов (Internet).
  • Тип записи (MX) — указывает, что это почтовая запись.
  • Приоритет (10) — целое число от 0 до 65535. Определяет очерёдность использования серверов: чем меньше число, тем выше приоритет. При равенстве приоритетов почтовый сервер отправляющей стороны выбирает сервер случайным образом.
  • Целевой хост (mail.example.com.) — полностью определённое доменное имя (FQDN) почтового сервера, которое должно быть разрешено в запись типа A или AAAA. Использование IP-адресов в MX-записи не допускается.

Пример с несколькими серверами (резервирование):

`` example.com. IN MX 10 mail1.example.com. example.com. IN MX 20 mail2.example.com. example.com. IN MX 30 mail3.example.com. ``

В этом случае почта сначала будет направляться на mail1 (приоритет 10), при его недоступности — на mail2 (20), затем на mail3 (30).

Принцип работы

Когда почтовый сервер отправляющей стороны (MTA — Mail Transfer Agent) собирается доставить письмо на адрес user@example.com, он выполняет следующие шаги:

  1. Запрос MX-записи — MTA отправляет DNS-запрос на получение MX-записей для домена example.com.
  2. Сортировка по приоритету — полученные записи сортируются по возрастанию приоритета. При равенстве приоритетов порядок может быть произвольным (обычно случайным для балансировки нагрузки).
  3. Разрешение целевого хоста — для каждого целевого хоста из MX-записи выполняется DNS-запрос записи типа A (IPv4) или AAAA (IPv6) для получения IP-адреса.
  4. Попытка соединения — MTA пытается установить SMTP-соединение с сервером, имеющим наивысший приоритет (наименьшее числовое значение). Если соединение не удаётся (сервер недоступен, тайм-аут, ошибка), MTA переходит к следующему по приоритету серверу.
  5. Доставка — при успешном соединении письмо передаётся по протоколу SMTP.

Если MX-запись для домена отсутствует, некоторые MTA могут попытаться доставить почту непосредственно на запись A самого домена (так называемое fallback-поведение, описанное в RFC 5321), однако это не является обязательным и часто блокируется из соображений безопасности.

Применение и значение

MX-записи используются для:

  • Направления почты на внешние почтовые сервисы — например, для доменов, использующих Google Workspace или Яндекс 360, MX-записи указывают на серверы этих провайдеров.
  • Организации резервирования и отказоустойчивости — несколько MX-записей с разными приоритетами позволяют сохранить приём почты при выходе из строя основного сервера.
  • Балансировки нагрузки — при равных приоритетах запросы распределяются между несколькими серверами.
  • Разделения почтового трафика — например, для разных поддоменов (mail.example.com vs corporate.example.com) могут быть настроены разные MX-записи.

Особенности и ограничения

  • MX-запись не может указывать на CNAME-запись (алиас). Целевой хост должен быть записью типа A или AAAA. Это требование закреплено в RFC 2181 и RFC 1912.
  • Приоритет 0 — наивысший приоритет. Однако использование нулевого приоритета не рекомендуется, так как некоторые старые MTA могут некорректно его обрабатывать.
  • MX-запись не влияет на исходящую почту — она определяет только входящие серверы. Для отправки почты используются другие механизмы (например, настройки SMTP-клиента или SPF-записи).
  • Валидность MX-записи проверяется при настройке домена — если указанный целевой хост не существует или не имеет записи A/AAAA, почта не будет доставляться.

Взаимодействие с другими DNS-записями

MX-запись тесно связана с другими типами DNS-записей, обеспечивающими безопасность и аутентификацию электронной почты:

  • SPF (Sender Policy Framework) — запись TXT, которая указывает, какие серверы имеют право отправлять почту от имени домена. SPF не заменяет MX, но дополняет его, защищая от подделки отправителя.
  • DKIM (DomainKeys Identified Mail) — запись TXT, содержащая открытый ключ для проверки цифровой подписи письма. Не зависит от MX, но используется для подтверждения целостности сообщения.
  • DMARC (Domain-based Message Authentication, Reporting & Conformance) — запись TXT, описывающая политику обработки писем, не прошедших проверку SPF и DKIM. DMARC может ссылаться на MX-записи для определения легитимных серверов.

Проверка и настройка

Для проверки MX-записей используются утилиты командной строки, такие как nslookup, dig или host. Пример команды:

`` dig example.com MX ``

Ответ содержит список MX-записей с приоритетами и целевыми хостами. Администраторы доменов настраивают MX-записи через панель управления DNS-провайдера или регистратора доменов. Типичная ошибка — указание неполного доменного имени (без точки в конце) или использование IP-адреса вместо FQDN.

Интересные факты

  • В ранних версиях DNS (до RFC 974) почта доставлялась напрямую на хост, указанный в записи A домена. Это приводило к проблемам, если почтовый сервер находился на другом IP-адресе.
  • Максимальное количество MX-записей для одного домена не ограничено стандартом, но на практике рекомендуется использовать не более 5–10 для упрощения управления и снижения времени обработки DNS-запросов.
  • Некоторые почтовые серверы (например, Microsoft Exchange) могут игнорировать MX-записи с приоритетом выше 100, считая их ошибочными.

Критика и альтернативы

Основная критика MX-записей связана с тем, что они не обеспечивают шифрование или аутентификацию трафика — это решается на уровне протоколов SMTP (STARTTLS) и дополнительных DNS-записей (SPF, DKIM, DMARC). В качестве альтернативы для небольших доменов иногда используется запись типа A самого домена (fallback), но такой подход не рекомендуется из-за отсутствия резервирования и гибкости.

Источники

  • RFC 974 — Mail Routing and the Domain System (1986)
  • RFC 1035 — Domain Names — Implementation and Specification (1987)
  • RFC 5321 — Simple Mail Transfer Protocol (2008)
  • RFC 2181 — Clarifications to the DNS Specification (1997)
  • RFC 1912 — Common DNS Operational and Configuration Errors (1996)

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →