За́пись MX (от англ. mail exchanger) — это один из типов
записей в DNS, указывающий способ маршрутизации электронной почты.
MX-записи для данного домена указывают серверы, на которые нужно
отправлять электронную почту, предназначенную для адресов в данном
домене. Кроме того, MX-записи указывают приоритет каждого из возможных
серверов для отправки.
Имя хоста, указанного в записи MX, должно
содержать IP-адрес, определённый с помощью записи типа A. Псевдонимы
CNAME не могут иметь своих MX-записей.
Чтобы отправить
электронную почту на определённый адрес, сервер-отправитель делает
DNS-запрос, запрашивая MX-запись домена получателя электронного
сообщения (то есть части адреса после символа «@»). В результате запроса
возвращается список имён хостов почтовых серверов, принимающих входящую
почту для данного домена, а также величину приоритета для каждого из
хостов. Сервер-отправитель затем пытается установить SMTP-соединение с
одним из этих хостов, начиная с того, у кого значение величины
приоритета наименьшее, перебирая каждый из них, пока не удастся
установить соединение хотя бы с одним из них. Если же имеется несколько
хостов с одинаковыми приоритетами, то должны быть предприняты попытки
установить соединение с каждым из них.
Механизм записей MX
предоставляет возможность использовать множество серверов для одного
домена и упорядочивания их использования в целях уменьшения нагрузки и
увеличения вероятности успешной доставки почты. Кроме того, такой
механизм предоставляет возможность распределить обработку входящей почты
среди нескольких физических серверов.
Для одного домена может
быть указано несколько почтовых серверов с разными приоритетами. Если по
каким-то причинам почта доставляется на узел с относительно низким
приоритетом (то есть большим числом в MX-записи), то этот узел, при
решении о маршрутизации (релеинге) на узел-получатель (на любой из узлов
с максимальным приоритетом), игнорирует свою MX-запись и MX-записи с
приоритетом, ниже чем у себя. Для правильного исключения самого себя из
списка адресов для доставки почты, в MX-записях должны указываться
только канонические имена. В случае некорректной настройки возможны
циклы (когда сервер пытается доставить почту самому себе).
С помощью утилиты host в ОС GNU/Linux, FreeBSD и т. п. запросим запись MX для домена wikipedia.org. $ host -t mx wikipedia.org. wikipedia.org mail is handled by 50 lists.wikimedia.org. wikipedia.org mail is handled by 10 mchenry.wikimedia.org.
Здесь
список почтовых серверов, обслуживающих почту домена, представлен двумя
хостами: lists.wikimedia.org и mchenry.wikimedia.org. MX-приоритеты у
них 50 и 10 соответственно. Таким образом, при попытке доставить почту
адресату в домене wikipedia.org первым будет выбран сервер
mchenry.wikimedia.org.
С помощью утилиты nslookup в ОС семейства Microsoft Windows запросим запись MX для домена wikipedia.org. C:\>nslookup -type=mx wikipedia.org ns2.wikimedia.org Server: ns2.wikimedia.org Address: 91.198.174.4
wikipedia.org MX preference = 50, mail exchanger = lists.wikimedia.org wikipedia.org MX preference = 10, mail exchanger = mchenry.wikimedia.org lists.wikimedia.org internet address = 91.198.174.5 mchenry.wikimedia.org internet address = 208.80.152.186
Примечание: примерно так же работает nslookup в UNIX.