Одним из основополагающих принципов построения любой почтовой системы в современной сети – наличие и правильная настройка MX записей в DNS. К сожалению, далеко не все почтовые администраторы досконально понимают что такое MX запись и какова ее роль в организации почтовой системы домена.

Основы DNS

Аббревиатура MX расшифровывается как “mail exchanger” (почтовый обменник). MX запись это один из видов DNS записей, поэтому для того, чтобы понять что такое MX запись необходимо понимать основы архитектуры и функционирования службы DNS (Domain Name System).

Наиболее важная функция службы DNS – преобразование имен доменов в IP адреса. Например, если вы в адресной строке вашего браузера набираете www.microsoft.com, то служба DNS позволяет определить IP адрес сервера с которым необходимо установить соединение. В этом примере имя домена — microsoft.com.

А что же произойдет, если вы пытаетесь отправить почтовое сообщение на адрес [email protected]?

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

  1. Определение авторитетного сервера имен (NS или name server)для домена microsoft.com
  2. Запрос к серверу имен домена microsoft.com на получение всех MX записей
  3. Разрешение имен серверов MX записей в их IP адреса

Если вы хотите вручную определить MX записи для домена microsoft.com, то эта процедура будет выглядеть так:
C:\>nslookup
Default Server: UnKnown
Address: 10.0.1.9

> set type=mx
> microsoft.com
Server: UnKnown
Address: 10.10.21.19

Non-authoritative answer:
microsoft.com MX preference = 10, mail exchanger = mail.messaging.microsoft.com

mail.messaging.microsoft.com internet address = 216.32.181.178
Итак, мы узнали – что IP адрес «почтового обменника» для домена for microsoft.com -216.32.181.178.

MX Preferences

Еще одним нюансом функционирования почтовой службы – возможность задания приоритета почтового сервера, эта технология называется «MX preference». Чтобы понять, что такое MX preference, познакомимся с DNS и MX-записями домена google.com.
> google.com
Server: UnKnown
Address: 10.10.21.19

Non-authoritative answer:
google.com MX preference = 10, mail exchanger = aspmx.l.google.com
google.com MX preference = 20, mail exchanger = alt1.aspmx.l.google.com
google.com MX preference = 30, mail exchanger = alt2.aspmx.l.google.com
google.com MX preference = 40, mail exchanger = alt3.aspmx.l.google.com
google.com MX preference = 50, mail exchanger = alt4.aspmx.l.google.com

aspmx.l.google.com internet address = 74.125.39.27
alt1.aspmx.l.google.com internet address = 209.85.173.27
alt2.aspmx.l.google.com internet address = 74.125.127.27
alt3.aspmx.l.google.com internet address = 209.85.225.26
alt4.aspmx.l.google.com internet address = 74.125.65.26

Как вы видите, для домена google.com существует 5 различных MX записей (пять почтовых серверов) с различным значением параметра preference. Параметр preference позволяет задать приоритет каждой MX записи, т.е. определяет в какой последовательности на эти сервера будут осуществляться попытки доставить письмо. Меньшее значение соответствует боле высокому приоритету, т.е. именно на этот почтовый сервер будут отправлять письма в первую очередь.

Несколько MX записей нужны для:

  • Возможности организации балансировки нагрузки между принимающими почтовыми серверами, для чего необходимо создать несколько MX записей с одинаковым приоритетом
  • Организация отказоустойчивости почтовой системы, определяющей порядок определения следующего принимающего почтового сервера, если первичный серверминимальным значением MX preference) недоступен.

В качестве резервного сервера обычно задается почтовый сервер, расположенный на другой площадке, как правило в целях экономии, обычно имеющей меньшую пропускную способность каналов связи и вычислительных мощностей. И, без сомнения, намного лучше, когда письмо в случае недоступности одного из серверов все-таки отправляется на резервный сервер, а не остается в очереди на отправляющей стороне, и которые через некоторое время осуществляет повторные попытки отправки (retry) .

На что же должны указывать MX записи?

После того, как мы разобрались с тем, для чего нужны MX записи, попробуем понять на что же должны указывать эти записи.

Если ваша организация содержит и поддерживает почтовую систему самостоятельно (получает почту напрямую), тогда MX запись вашего домена должна указывать на внешний IP адрес вашего сетевого экрана (если используется технология трансляции адресов / портов NAT/PAT) или же внешний адрес вашего почтового сервера (например, это может быть сервер с ролью Edge Transport, или же почтовый MTA на базе Linux).

Если в вашей компании для фильтрации почты используете некий внешний «облачный» сервис, тогда MX записи вашего домена должны указывать на IP адрес, указанный провайдером этого сервиса.

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

Вот и все! В данной статье мы вкратце познакомились с понятием MX записи и зачем она нужна, надеюсь она окажется полезной для начинающих почтовых администраторов.

mx2.сайт. приоритет 10
mx3.сайт. приоритет 10
mx4.сайт. приоритет 100

Обращаем внимание, что MX-запись должна включать в себя точку в конце.

Настройка записей MX для приёма почты на сторонний почтовый сервер

Если необходимо настроить приём почты сторонним почтовым сервером, например, почтовой системой yandex, нужно сделать следующее чтобы направить почту на сервер mx.yandex.net:

  1. Зайти в панель управления , выбрать пункт «Домены». Нажать на необходимый домен, например, example.ru и убрать галку напротив «Принимать почту».
  2. В «Настройке параметров DNS » для домена example.ru нужно добавить MX-запись. Необходимо выбрать тип «MX», написать строку «mx.yandex.net.» (точка на конце обязательна) и выставить приоритет 10. Затем нажать на «Добавить в записи».

Настройка записей MX для приёма почты на собственный почтовый сервер

Если есть собственный почтовый сервер (например в офисе компании), который должен принимать входящую почту:

  1. Необходимо зайти в панель управления , выбрать пункт меню «Домены».
    Для нужного необходимо добавить поддомен. Например, для домена example.ru в столбце «Поддомены» можно добавить mx.example.ru (необходимо нажать на ссылку «Добавить» и дописать mx в поле перед example.ru. После этого нажать на кнопку «Добавить»).
  2. Выбрать добавленный поддомен mx.example.ru, нажав на него, затем перейти на «Настройку параметров DNS »
    Здесь необходимо добавить А-запись, в качестве значения указать IP-адрес почтового сервера.
  3. После этого требуется снова нажать на домен example.ru и убрать галку напротив «Принимать почту»
    (При этом может появиться ошибка, указывающая на то, что существуют почтовые ящики, использующие установленные домена. Для устранения ошибки необходимо зайти в пункт меню «Почта» и удалить все почтовые ящики, привязанные к домену, кроме служебных и технических).
  4. В «Настройке параметров DNS » для домена example.ru осталось добавить MX-запись (из выпадающего списка необходимо выбрать «MX», затем ввести приоритет, например, 10 и «mx.example.ru.» (точка на конце обязательна). Затем нажать «Добавить в записи».
  5. После первого внесения каких-либо изменений в настройки домена он приобретает статус и автоматически утрачивает префикс www и стандартные А и MX записи.
    Чтобы сайт example.ru после внесённых изменений отзывался так же по www.example.ru, необходимо добавить поддомен www.example.ru и, после создания, привязать его к сайту, к которому уже привязан домен example.ru.

DNS (система доменных имен) – это «телефонная книга» Интернета. В качестве номера телефона в ней выступает IP-адрес, а в качестве наименований контактов — домены. В такую книгу можно внести не только «телефонный номер», но и дополнительную информацию о контакте («е-mail», «место работы» и т.п.).

Информация о домене хранится на DNS-серверах. Чтобы внести её в систему DNS, нужно прописать ресурсные записи . С их помощью серверы делятся сведениями о доменах с другими серверами. Пока не прописаны ресурсные записи для домена, его нет в «телефонной книге» Интернета. Следовательно, работа сайта или почты на нём невозможна. Прежде чем приступать к указанию ресурсных записей, нужно делегировать домен, то есть прописать для него DNS-серверы. Вы можете сделать это по инструкции: . Затем переходите к ресурсным записям. Изменения вступят в силу после обновления DNS-серверов (обычно до 24 часов).

Основные ресурсные записи: записи типа A, CNAME, MX, TXT и SPF. Рассмотрим их подробнее.

Запись A

Запись A (address) — одна из ключевых ресурсных записей Интернета. Она нужна для связи домена с IP-адресом сервера. Пока не прописана А-запись, ваш сайт не будет работать.
Когда вы вводите название сайта в адресную строку браузера, именно по А-записи DNS определяет, с какого сервера нужно открывать ваш сайт.

Примеры записи A:

Имя записи Тип записи Значение
site.ru A 123.123.123.123
shop.site.ru A 123.123.123.123

Прописать А-запись вы можете по инструкции:

Запись CNAME

CNAME (Canonical name) — запись, которая отвечает за привязку поддоменов (например, www.site.ru) к каноническому имени домена (site.ru) или другому домену.
Основная функция CNAME — дублирование ресурсных записей домена (A, MX, TXT) для различных поддоменов.

Примеры записи CNAME:

Имя записи Тип записи Значение
www.site.ru CNAME site.ru
webmail.site.ru CNAME webmail.hosting.сайт

Если вы пропишете CNAME для поддомена www.site.ru и укажете значение site.ru, сайт будет открываться с того же IP-адреса, что и site.ru . Если вы пропишете CNAME для mail.site.ru и укажете значение webmail.hosting.сайт , то на mail.hosting.сайт будут распространятся те же ресурсные записи, что для webmail.hosting.сайт.

Использование записи CNAME исключает использование других ресурсных записей для данного поддомена, то есть для поддомена webmail.site.ru или www.site.ru нельзя одновременно добавить и запись A и запись CNAME.

Прописать CNAME-запись вы можете по инструкции:

Запись MX

MX (Mail Exchanger) — запись, отвечающая за сервер, через который будет работать почта. Записи MX критически важны для работы почты. Благодаря им отправляющая сторона «понимает», на какой сервер нужно отправлять почту для вашего домена.

Примеры записи MX:

Имя записи Тип записи Приоритет Значение
site.ru MX 10 mx1.hosting.сайт
site.ru MX 15 mx2.hosting.сайт

где mx1.hosting..

Обычно указывается два почтовых сервера, чтобы в случае недоступности одного из них почта всё же была отправлена на другой. Приоритет записи определяет, на какой сервер нужно отправлять почту в первую очередь. Чем меньше число, тем выше приоритет. Таким образом, для доменного имени site.ru почтовый сервер mx1.hosting..hosting.. Если приоритет одинаковый, сервер выбирается случайным образом.

Прописать MX-запись вы можете по инструкции:

Запись TXT

TXT (Text string) — запись, с помощью которой задаются необходимые текстовые комментарии для домена. Часто применяется для проверок на право владения доменом при подключении дополнительных сервисов, а также как контейнер для записи SPF и ключа DKIM. Можно прописывать неограниченное количество TXT-записей, если они не конфликтуют друг с другом.

Прописать TXT-запись вы можете по инструкции:

Запись SPF

SPF-запись (Sender Policy Framework) содержит информацию о списке серверов, которые имеют право отправлять письма от имени заданного домена. Позволяет избежать несанкционированного использования. Настройка SPF прописывается в TXT-записи для домена.

Пример записи SPF:

Имя записи Тип записи Значение
site.ru TXT v=spf1 include:_spf.hosting..123.123.123 a mx ~all

где 123.123.123.123 — IP-адрес нужного вам сервера.

В этом примере:

  • v=spf1 — определяет версию используемой записи SPF;
  • include:_spf.hosting.сайт — включает в запись SPF значение SPF-записи другого домена. То есть для домена будут действовать все значения записи SPF для домена «_spf.hosting.сайт»;
  • ip4: 123.123.123.123 — разрешает приём почты с IP-адреса 123.123.123.123;
  • a — разрешает приём почты с сервера, IP-адрес которого стоит в ресурсной A-записи домена. Проще говоря, с сервера, где размещён сайт;
  • mx — разрешает приём почты, если отправляющий сервер указан в одной из записей MX для домена;
  • ~all — если письмо пришло с сервера, который не входит в вышеперечисленный список, его стоит проанализировать более тщательно. Также иногда используется -all — в этом случае письмо не проходит дополнительных проверок и сразу отвергается.

Прописать SPF-запись вы можете по инструкции:

Записи NS, PTR, SOA являются служебными и, как правило, настраиваются автоматически.

Запись NS

NS-запись (Authoritative name server) указывает на DNS-серверы, которые отвечают за хранение остальных ресурсных записей домена. Количество NS записей должно строго соответствовать количеству всех обслуживающих его серверов. Критически важна для работы службы DNS.

Запись PTR

PTR — обратная DNS-запись, которая связывает IP-адрес сервера с его каноническим именем (доменом). PTR-запись применяется для фильтрации почты.. Если у вас заказан VPS или Dedicated-сервер, прописать PTR-запись можно по инструкции:

Запись SOA

SOA (Start of Authority) — начальная запись зоны, которая указывает, на каком сервере хранится эталонная информация о доменном имени. Критически важна для работы службы DNS. Подробнее о том, что такое SOA-запись и как её проверить, вы можете узнать .

На сегодняшний день у некоторых организаций имеются свои почтовые серверы, которые не посредственно расположены физически в самой организации а веб сайт находиться на хостинге в интернете так как же быть? Чтобы почта доходила до сервера почтового в компании а при наборе доменного адреса в браузере запрос перенаправлялся на хостинг где расположенный сайт.
Всё это можно сделать грамотно настроив MX запись на DNS сервере.
Что нам для этого надо?
1.Выделенный IP адрес белый на шлюзе или почтовом сервере в организации

2.Доступ к редактировнаию записей DNS на хостинге или на локаунте регистратора(если не знаете о чём идёт речь задайте этот вопрос регистратору или хостер вашему на котором располагается домен или сайт)

Если выше описанные два пункта выполняются тогда кратко какие бывают записи DNS и как они не посредственно работают те которые нам не посредственно понадобиться.

1.Запись A (address record) или запись адреса связывает имя хоста с адресом IP..226.224.102 , на этом IP адресе физически располагается сайт www.сайт . Синтаксис написание сайт 86400 IN A 87.226.224.102 (86400 это время жизни данной записи после чего она обновиться повторно с сервера DNS)
2.Запись MX (mail exchange) или почтовый обменник указывает сервер(ы) обмена почтой для данного домена..ru , Синтаксис написание сайт 86400 IN MX 10 сайт (86400 это время жизни данной записи после чего она обновиться повторно с сервера DNS, MX это тип данных описываемых, 10 это приоритет по которому выбирается адрес доставки почты чем меньше число тем выше приоритет,если у вас всего один почтовый сервер то вам сойдёт любое число от 0 до 10)
вот собственно и всё что мы будем редактировать.

И так приступим мы имеем почтовый сервер который располагается на внешнем IP или внешнем шлюзе с IP адресом 10.10.10.10 и веб сайт с доменным именем www.test.ru который располагается на сервере хостинга тот который в свою очередь находиться на IP адресе 20.20.20.20 , заходим в админку хоста или админку регистратора имени и смотрим записи DNS на наше доменное имя test.ru и видим следующую картину



test.ru 86400 IN MX 10 test.ru (или своё доменное имя обычно второго уровня хостинговое)

теперь расшифровываем домен *.test.ru c любым префиксом располагается физически на IP адресе 20.20.20.20 дальше домен test.ru располагается физически на IP адресе 20.20.20.20 это понятно, почтовая служба домена test.ru есть и она располагается на адресе test.ru всё вроде бы понятно.
Теперь нам надо сделать так чтоб те кто набирал в адресной строке браузера www.test.ru или test.ru попадали на сайт наш который расположен на хостенге,а те которые писали письмо на почту нашего домена например на Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра. то это письмо не посредственно отправлялась на нашу почтовую машины расположенную в нашей конторе по адресу 10.10.10.10 так вот чтоб это сделать надо перезаписать MX запись на DNS сервере, можно сделать это так test.ru 86400 IN MX 10 10.10.10.10 что будет соответствовать для доменного имени test.ru почтовый сервер находиться на IP адресе 10.10.10.10 многие так и думают да эта запись будет работать и даже вы сможете отправлять и получать письма но не все почтовые сервера будут с вами работать, так как крупные почтовые сервисы такие как mail.ru считают хорошим тоном что MX запись на DNS сервера получателя почты должна быть не IP адресом а не посредственным доменным именем это так компания майл ру беспокоиться за нелегальные почтовые сервера и опасаются за спам. В связи с чем почтовый сервис майл ру не будет с вами работать по обмену почтой, все остальные будут работать и почта нормально будет доходить до вас и с рамблера и с гугли и с яндекса. Но как же нам сделать чтоб наш домен был полноценным и принимал и отправлял почту на любые почтовые сервисы и на любые почтовые домены не опасаясь что письмо пропадёт или не дойдёт до вашего почтового сервера? Нам надо превратить наш IP 10.10.10.10 в доменное имя которое мы запищим в MX запись и которое будет у почтовых систем ассоциироваться с IP адресом 10.10.10.10.......тут есть два варианта первый это зарегистрировать доменное имя любое у любого регистратора и указать на A записи в его настройках наш IP 10.10.10.10 то есть сопоставить имя доменное и адрес расположение. Данный способ работает конечно но он трудно-затратен это линии оплаты 600 рублей в год за доменное имя + за DNS к этому доменному имени и того 1000 рублей точно встанет в год и если сказать честно этот способ хоть и рабочий но не совсем правильный, нет он работать будет со всеми почтовыми сервисами но есть но по правилам хорошего тона.
Второй способ более нам и всем подходящий,поскольку мы имеем белый IP адрес на нашем шлюзе или почтовом сервере 10.10.10.10 то наш провайдер по нашей просьбе должен у себя на DNS сервере своём прописать обратную зону DNS для нашего доменного имени. Что такое обратная зона dns вы уж найдите и прочитайте сами в интернете.
Хочу сказать одно нам не нужна обратная зона dns домена первого уровня нашего test.ru которая будет выглядеть так 10.10.10.10.in-addr.arpa и соответствовать test.ru нам надо попросить нашего провайдера чтоб он нам прописал в обратной зоне dns доменное имя второго уровня например mx1.test.ru на ip адрес 10.10.10.10 и всё после того как он пропишет его нам остаётся только подставить mx1.test.ru в нашу MX запись на нашем dns сервере и окончательно наши записи днс должны выглядит следующем образом

*.test.ru 86400 IN A 20.20.20.20
test.ru 86400 IN A 20.20.20.20
test.ru 86400 IN MX 10 mx1.test.ru

всё теперь у нас всё настроено и через сутки после обновления всех российских днс почта будет приходит для нашего домена на наш почтовый сервер который находиться у нас в конторе и не один почтовый сервис не будет возвращать письма из за не корректных записей MX DNS сервера домена.

Я за свою практику встречал несколько раз когда различные компании или люди не правильно всё это дело настраивали в случаи нашем когда почтовый сервер находиться не на хосте хостинговой компании а не посредственно в организации. Ну много сейчас есть контор которые имеют сайт на хосте покупном а почтовый сервер находиться физически в конторе, так как там свой домен своя сеть и тд.....Теперь рассмотрим типичные ошибки которые я встречал с подобной настройкой и которые вы не должны повторить
1.Один сервер был настроен вот так
*.test.ru 86400 IN A 20.20.20.20
test.ru 86400 IN A 10.10.10.10
test.ru 86400 IN MX 10 test.ru
тут всё работало только сайт открывался в браузере только по адресу www.test.ru и не хотел открываться если я просто набираю test.ru, зато почта ходила исправно.
Данный человек не знал видимо что можно у провайдера прописать обратную зону днс и знал что не все почтовые сервисы будут работать с MX записью где адресом является IP адрес машины с почтовым сервером и решил сделать так он сопоставил адрес www.test.ru c IP 20.20.20.20 там где находиться физически сайт и адрес test.ru (без www) сопоставил с IP адресом машины сервера почтового ну и конечно в MX записи прописал test.ru обслуживает почтовик test.ru в итоги всё работало кроме того что те люди которые в браузере набирали просто test.ru не могли попасть на сайт, а это есть плохо не только для удобства человека но это ещё и отображается на SEO раскрутки сайта так как многие каталоги и доски объявлений в строке веб сайт любят отображать не www.test.ru а http://test.ru в итоги люди не могут попасть на сайт. Это одна из типичных ошибок настройки DNS домена.
Второй ошибочный вариант выглядит следующим образом: среди DNS записей есть такая запись типа CNAME (canonical name record) или каноническая запись имени (псевдоним) используется для перенаправления на другое имя или адрес так вот некоторые люди делают так они помимо A,MX записей делают запись CNAME с указанием сопоставления например mx1.test.ru на IP адрес 10.10.10.10 то есть на физический адрес почтового сервера или щлюза и уже в свою очередь в MX записи прописывают test.ru 86400 IN MX 10 mx1.test.ru то есть они пытаются сопоставить mx1.test.ru с IP 10.10.10.10 и уже в MX записи прописать mx1.test.ru это тоже не правильно так как современные почтовые системы уже не реагируют на записи CNAME которые имеют свою запись в MX записи, почтовые сервиси всё ровно распознают такой приём как обманный и тем самым не ведут обмен писем с данным доменом.

Вот собственно и всё сегодня вы узнали как правильно надо настраивать MX запись и не допустить ошибки в настройки и правильном почтовом обмени с другими почтовыми сервисами думаю что я всё изложил максимально понятно.

Если кто знает ещё не правильные способы то буду рад выслушать а за свой опыт работы других не встречал.

MX-запись указывает на сервер, принимающий почту для вашего домена. Чтобы вашу почту обрабатывал сервер Яндекса, нужно создать MX-запись, указывающую на него.

Если вы хотите, чтобы сервер Яндекса обслуживал почтовые адреса, которыми вы пользовались до настройки MX-записи, создайте такие же адреса для нужного домена. Вы также можете импортировать ящики вместе с письмами.

Если вы делегировали домен на серверы Яндекса, MX-подпись будет настроена автоматически. Вы можете просмотреть и отредактировать ее параметры в DNS-редакторе Почты для домена.

    Войдите в вашу панель управления на сайте компании, предоставляющей вам услуги DNS-хостинга.

    Удалите существующие MX-записи.

    Создайте новую MX-запись со следующими значениями полей (в разных панелях управления названия полей могут отличаться):

    • Значение - «mx.yandex.net.» .

      Точка в конце имени сервера обязательна. В некоторых панелях управления точка учитывается по умолчанию, тогда ее указывать не нужно.

      Приоритет - 10.

      Если приоритет со значением «10» не предусмотрен в панели управления, укажите любой другой отличный от нуля приоритет.

      Имя поддомена - «@» .

      В некоторых панелях управления вместо «@» нужно указать имя вашего домена (например, «yourdomain.tld.» ). Если вам не удается указать ни «@» , ни имя домена, оставьте это поле пустым.

      Если это поле отсутствует в панели управления, можно его не указывать.

    Подождите, пока изменения в DNS вступят в силу. Этот процесс может длиться до 72 часов.