MX-запис (від англ. mail exchanger) — це один з типів записів DNS, що вказує спосіб маршрутизації електронної пошти. MX-записи для даного домену вказують сервери, на які потрібно відправляти електронну пошту, призначену для адрес в даному домені. Крім того, MX-записи вказують пріоритет кожного з можливих серверів для відправки.
Ім'я хоста, зазначеного в MX-записі, повинне містити IP-адресу, визначену за допомогою запису типу A. Псевдоніми CNAME не можуть мати своїх MX-записів.
Щоб відправити електронну пошту на певну адресу, сервер-відправник робить DNS-запит, запитуючи MX-запис домену одержувача електронного повідомлення (тобто частини адреси після символу «@»). В результаті запиту повертається список імен хостів поштових серверів, що приймають пошту для даного домену, а також величина пріоритету для кожного з хостів. Сервер-відправник потім намагається встановити SMTP-з'єднання з одним з цих хостів, починаючи з того, у кого значення величини пріоритету найменше, перебираючи кожний з них, поки не вдасться встановити з'єднання принаймні з одним з них. Якщо ж є кілька хостів з однаковими пріоритетами, то повинні бути зроблені спроби встановити з'єднання з кожним з них.
Механізм MX-записів надає можливість використовувати безліч серверів для одного домену та впорядкування їх використання в цілях зменшення навантаження і збільшення ймовірності успішної доставки пошти. Крім того, такий механізм надає можливість розподілити обробку вхідної пошти серед кількох фізичних серверів.
Особливості обробки MX при маршрутизації пошти
Для одного домену може бути вказано декілька поштових серверів з різними пріоритетами. Якщо з якихось причин пошта доставляється на сайт з відносно низьким пріоритетом (тобто великим числом MX), то цей вузол, при рішенні про маршрутизацію (релеїнг) на вузол-одержувач (на будь-який з вузлів з максимальним пріоритетом), ігнорує свій MX-запис і MX-записи з пріоритетом, нижчим, ніж у себе. Для правильного виключення самого себе зі списку адрес для доставки пошти, в MX-записах повинні зазначатися тільки канонічні імена. У випадку некоректних налаштувань можуть з'явитися цикли (коли сервер намагається доставити пошту самому собі).
Приклади запиту MX-запису
За допомогою утиліти host в UNIX-подібних ОС
За допомогою утиліти 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
За допомогою утиліти 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.
Див. також