Настройка почты и записей DNS
Думаю, многим будет интересно наконец-то узнать, как работает почта. В нескольких статьях я попытаюсь максимально простым языком расписать все основные вопросы, связанные с работой электронной почты вообще и нужными настройками — в частности.
Для простоты и сокращения количества букв мы рассмотрим простейшую (и наиболее распространенную) ситуацию:
1 доменное имя (example.com).
1 почтовый домен (*@example.com).
1 почтовый сервер (mail.example.com).
1 IP-адрес (127.127.127.127).
Касательно почты, в DNS нас интересует четыре типа записей.
- A
- MX
- PTR
- TXT
Второй — обязательный, без него почта в 99% случаев не будет ходить
вообще. Без остальных, в принципе, можно обойтись, но шансы, что ваше
письмо будет отвергнуто как спам возрастают в разы — тот же mail.ru
отбрасывает практически всю почту, чьи IP-адреса не имеют PTR, либо PTR
относится к dial-up провайдерам. И это правильно.
A-запись
A (Address) — запись, указывающая IP-адрес нужного нам
доменного имени. Для корректной работы почты требуется A-запись сервера
почты (mail.example.com). Выглядеть, в нашем случае, она будет так:mail IN A 127.127.127.127
Где:
mail — домен.
IN A — тип записи.
127.127.127.127 — IP нашего почтового сервера.
MX-записи.
MX (Mail eXchange) — основная DNS-запись для электопочты. Она указывает, какими серверами обрабатывается почта для нашего домена.
У нас есть один почтовый домен — example.com. И один почтовый сервер — mail.example.com. Соответственно, запись будет выглядеть так:example.com. IN MX 10 mail.example.com
Где:
example.com — домен, для которого обробатывается почта.
IN MX — тип записи.
10 — приоритет записи (Подробнее — ниже).
mail.example.com — A-имя почтового сервера.
MX-запись должна указывать именно на A-запись почтового сервера. Ставить MX указателем на IP или CNAME — не правильно.
Приоритет MX-записи нужен тогда, когда существует больше одного
почтового сервера для одного домена (например у Google Mail их шесть).
Он указывает, к какому серверу идет обращение в первую очередь, во
вторую и так далее (если первый (второй, десятый) сервер недоступен или
перегружен или по другим причинам не может принять письмо). Логика
простая — приоритетнее тот, цифра которого меньше. Порядок цифр — не
ограничен, хоть 10-20-30, хоть 1000-2000-3000.
Если у домена нет ни одной MX-записи, либо ни один из MX-серверов не
доступен, сервер отправителя попытается доставить почту на IP, указанный
в A-записи домена. Это назвается А-доставкой, но в принципе не кошерно и
не используется многими серверами — нужно указывать MX, даже если он
всего один.
PTR-запись.
PTR (PoinTeR) — так называемая «обратная запись». Она позволяет обратное разрешение (reverse resolving) IP-адреса в FQDN-хост.
Наш IP в виде reverse будет выглядеть так: 127.127.127.127.in-addr.arpa.
В данном примере видно плохо, но адрес инвертируется в обратной зоне.
Т.е. IP 192.168.0.1 будет выглядеть как 1.0.168.192.in-addr.arpa.
Для корректного распознования хоста, запись IP-адреса, с которого
отправляется должна соответсовать hostname почтового сервера,
отправляемому в HELO\EHLO.
PTR-запись в нашем случае, соответственно:127.127.127.127.in-addr.arpa IN PTR mail.example.com.
Прописать эту запись может владелец блока IP-адресов (Читайте мою статью про распределение адресного пространства).
Если вы таковым не являетесь и получили адреса от провайдера —
обращайтесь к вашему провайдеру или дата-центру, чтобы запись установил
он.
TXT-запись и SPF.
TXT (TeXT) — текстовая запись DNS. Нам она интересна только тем, что может (и в современном мире — должна) содержать в себе SPF.
SPF (Sender Policy Framework) — запись,
позволяющая вам указать, какие сервера имеют право отправлять почту от
имени вашего домена (представившись вашим сервером, либо с обратным
адресом в вашем домене).
Если этой записи нет, и кто-то пытается отправить письмо (как правило,
спам) с обратным адресом в вашем домене — оно будет отклонено
большинством серверов. Или не будет, и вы получите большие проблемы со
своим дата-центром или провайдером и репутацию спамера 🙂
SPF-запись выглядит так:
v=spf1 ip4:1.1.1.1 +a +mx -all (пример).
Где:
v=spf1 — версия протокола.
(+\-)a — разрешение или запрет отправки почты с IP, соответствующего A-записи домена.
(+\-)mx — разрешение или запрет отправки почты с IP, соответствующего MX-записи домена.
ip4:IP — явное указание IP, с которого можно принимать почту от имени домена.
(~\-all) — отвергать или принимать почту от IP, не перечисленных в списке и не указанных явно.
В нашем случае TXT SPF запись будет такой:example.com. IN TXT "v=spf1 +mx +a -all"
Таким образом, мы разрешили прием почты от имени домена с IP,
соотвествующих A или MX записям и запретили прием от других адресов —
никто не сможет наспамить прикинувшись нами или обмануть наших
пользователей, отправив фишинговую ссылку от имени тех. поддержки.
Свежие комментарии