Подробно о почте для домена и настройке SPF/DKIM/DMARK/PTR

Настройка почты для домена на примере Яндекс почты и Zoho Mail

В этой статье подробно рассматривается вопрос бесплатного подключения почты для домена, чтобы работали такие адреса как, например, info@mysite.com или support@mysite.com. При этом должны соблюдаться несколько важных условий:

  1. Использование почты должно быть бесплатно либо иметь какой-либо бесплатный тариф с ограничениями количества пользователей, дискового пространства и т.д.
  2. Отправляемая почта обязательно должна попадать в папку Входящие, а не Спам

На первый взгляд задача достаточно простая, но если такие аббревиатуры, как SFP, DKIM и DMARC вам пока ничего не говорят, или ничего такого в DNS вы не настраивали, то вся ваша исходящая почта, скорее всего, залетает адресату сразу в папку Спам или вообще до него не доходит. Как сделать правильно разберемся ниже.

Пока можно начать с необходимости подключения стороннего сервиса управления почтой для домена. На сегодняшний день хостинг-провайдеры часто предлагают такую услугу вместе с хостингом. Если же использовать VPS и какой-либо панелью, то управление почтой также зачастую поддерживается. Можно сказать, что штатного веб-интерфейса и возможностей вполне достаточно, а кто-то пользуется почтовой программой, как Mozilla Thunderbird. При этом интерфейс определяется программой, а почта отправляется через SMTP и принимается через POP или IMAP.

Зачем подключать сторонний почтовый сервис?

Однозначно ответить на этот вопрос сложно и решение каждый принимает самостоятельно, но мы попробуем перечислить некоторые преимущества такого подхода:

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

Где бесплатно подключить почту для домена?

Предположим, что мы все же решили подключить почту для домена и воспользоваться сторонними почтовыми серверами, но с бюджетом под эти нужды пока не сложилось. Это еще не тупик, некоторые компании предлагают бесплатные тарифы с рядом ограничений. Но для начала этого вполне достаточно. Итак, где же подключить бесплатную почту для домена? Немного изучив этот вопрос, мы остановились на двух вариантах:

  1. Яндекс Почта для домена - https://pdd.yandex.ru
  2. Zoho Mail - https://www.zoho.eu/mail

Первый вариант отлично подойдет жителям РФ. Здесь нам обещают 1000 бесплатных почтовых аккаунтов, 10 ГБ места для каждого из них на Яндекс Диске и другие плюшки. Ограничение на количество подключенных доменов точно не указано, но несколько десятков точно можно. Более чем достаточно для самых разных задач, а особенно для небольшого проекта, у которого 1-2 почтовых ящика. При этом никакой рекламы в письмах, но в интерфейсе реклама незначительно присутствует.

Вариант с Zoho Mail более скромный. Нам предлагают бесплатно 25 почтовых аккаунтов (+ еще 25 по реферальной программе), 5 ГБ места и подключение только одного домена. Не много, но и не удивительно, как для западной компании такого уровня. Недостаток только с одним доменным именем легко преодолеть, регистрируясь отдельно для каждого сайта. В остальном также вполне подходит для небольших компаний, которые по той или иной причине не хотят или не могут воспользоваться услугами Яндекс почты для домена. Примером может служить блокировка сервисов Яндекса в Украине (Указ Президента Украины №133/2017 от 15 мая 2017 года).

В дальнейшем будем рассматривать работу с настройками почты на примере этих двух сервисов.

Как подключить почту для домена?

Общая структура подключения почты для домена схожа для Яндекса и Zoho. Рассмотрим их вместе.

Добавление домена

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

В случае с Яндекс Почтой для домена авторизуемся на сайте yandex.ru и переходим на https://pdd.yandex.ru/domains_add/. Для Zoho Mail достаточно перейти по ссылке https://workplace.zoho.eu/biz/mailsignup.do?plan=free или нажать на кнопку регистрации для бесплатного тарифа на странице с тарифными планами.

Для подтверждения владения доменом оба сервиса попросят нас выполнить определенные действия. Выбираем любой удобный способ подтверждения домена и выполняем указанные в инструкции действия. Чаще всего, используется создание CNAME записи в DNS вашего домена или создание специального файла на хостинге. Обратите внимание, что записи DNS не обновляются моментально, а к файлу можно обратиться сразу после загрузки на хостинг. Но управление DNS записями домена будет необходимо при дальнейшей настройке почты, так что убедиться, что у нас есть все возможности для управления ими будет не лишней.

В результате мы должны успешно подтвердить право на владение доменом и перейти к созданию почтовых аккаунтов. Остановимся пока на одном, например, info@mysite.com.

Настройка MX записей домена

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

Для Zoho Mail нужно добавить три MX записи:

Имя Адрес Приоритет Тип
@ mx.zoho.eu. 10 MX
@ mx2.zoho.eu. 20 MX
@ mx3.zoho.eu. 30 MX

Для Яндекс почты достаточно создать одну MX запись с параметрами:

Имя Адрес Приоритет Тип
@ mx.yandex.net. 10 MX

Если же у домена есть MX записи с другими параметрами роутинга почты, то их необходимо удалить.

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

Можем проверить правильность настройки MX записи для Zoho Mail нажав на MX Lookup в нижней части страницы. Если все правильно, то мы увидим следующее окно и можем переходить к следующему шагу.

Настройка MX для Zoho Mail

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

Добавление пользователя в Яндекс почте для домена

Еще раз напомним, что у DNS есть кэш и для его обновления нужно время. Для проверки различных параметров домена и в том числе MX записей, можно воспользоваться удобным онлайн-сервисом https://mxtoolbox.com/SuperTool.aspx.

Теперь вся входящая почта направляется не на сервер нашего хостинг провайдера или VPS, а на почтовые сервера Яндекса или Zoho. На этом Яндекс почта для домена заканчивает стандартную процедуру настройки, а Zoho Mail предлагает перейти к настройки SPF и DKIM, речь о которых пойдет ниже.

Sender Policy Framework или SPF

Используется для проверки того, не подделан ли домен отправителя. Будучи владельцем домена, можно указать в специальной TXT записи DNS для него список серверов, которые могут отправлять почту с обратными адресами в этом домене.

Для настройки SPF необходимо добавить TXT запись в настройках DNS нужного домена со следующими параметрами:

Имя Тип Значение
@ TXT v=spf1 параметры_spf

Для разных почтовых сервисов используются разные параметры SPF. Но есть и еще один фактор, который необходимо упомянуть.

Если домен используется только для работы почты вида user@mysite.com, то можно воспользоваться инструкциями по настройки SPF Яндекса или Zoho Mail. Но чаще всего у нас есть сайт, расположенный на хостинге и привязанный к данному домену. И этот сайт часто использует внутренние возможности сервера для отправки различных email сообщений. Например, при регистрации пользователя на сайте, администратору может приходит уведомление о данном событии. Или забыв пароль, пользователь хочет воспользоваться формой его восстановления. При этом на email адрес пользователя, который указан в его профиле, отправляется письмо с новым паролем или ссылка, по которой его можно сбросить.

В результате нам нужно указать в SPF записи не только сервер Яндекс или Zoho, с которого мы будем отправлять почту при использовании их веб-интерфейса, но и IP своего сервера. Мы же не хотим, чтобы при восстановлении пароля письмо попало в Спам или вообще было отклонено и не дошло до пользователя?

В результате значение TXT записи чаще всего имеет следующий вид:

v=spf1 ip4:123.123.123.123 include:_spf.yandex.ru ~all

v=spf1 ip4:123.123.123.123 include:zoho.eu ~all

для Яндекса и Zoho соответственно. Конечно же, вместо 123.123.123.123 нужно подставить адрес своего VPS сервера или сервера хостера, где расположен сайт. У владельцев виртуальных серверов не должно возникнуть никаких проблем с определением их IP-адресов. Для тех же, кто использует обычный хостинг, можно посоветовать воспользоваться любым Whois сервисом или обратиться в службу поддержки хостинга.

Разберемся с параметрами чуть подробнее:

  • v=spf1 - указывает на версию SPF
  • ip4:123.123.123.123 - адрес сервера в формате IPv4, что позволяет принимать письма с этого адреса
  • include:zoho.eu - позволяет принимать письма, разрешенные SPF записями zoho.eu
  • ~all - говорит о том, что для всех серверов не перечисленные в SPF записи (параметр "all") будет применено "мягкое" (SoftFail) отклонение (параметр "~").

Приведем еще несколько примеров SPF записей домена. Например, мы можем указать адрес сервера с использованием IPv6.

v=spf1 ip6:1080::8:800:68.0.3.1/96 include:zoho.eu ~all

Или несколько дополнительных доменных имен.

v=spf1 include:domain1.com include:domain2.com include:zoho.eu ~all

Параметр +a позволяет принимать письма от узла, IP которого совпадает с адресом A записи для данного домена. +mx разрешает прием почты, если отправитель указан в одной из MX записей для нашего домена. Таким образом, можно настроить SPF и без указания IP сервера вручную. Например, так:

v=spf1 +a include:_spf.yandex.ru ~all

при подключении Яндекс почты для домена

v=spf1 +a include:zoho.eu ~all

и Zoho Mail.

Вообще SPF имеет достаточно разнообразный набор параметров, который подробно описан на http://www.openspf.org/SPF_Record_Syntax. Мы же остановимся на предложенном выше варианте SPF записи.

Как проверить что SPF запись успешно добавлена и записана правильно? Для этого достаточно снова воспользоваться сервисом https://mxtoolbox.com/SuperTool.aspx. При успешном добавлении и обновлении SPF (дожидаемся обновления кэша DNS) мы увидим что-то похожее

Проверка наличия SPF записи

Теперь мы точно знаем, что запись есть и она заполнена корректно. Пока этого достаточно.

DomainKeys Identified Mail или DKIM

Эта технология позволяет проверить отправителя email сообщения не по IP адресу, а методом добавления к письму цифровой подписи. На сервере отправителя письмо подписывается закрытым ключом, а к домену добавляется специальная DNS запись типа TXT с открытым ключом, с помощью которой на стороне получателя выполняется автоматическая проверка подписи.

Параметры DNS записи для настройки DKIM:

Имя Тип Значение
_domainkey TXT o=~
selectorname._domainkey TXT v=DKIM1; k=rsa; p=MIG………..AB

Первая запись (DKIM Policy Record) определяет политику добавления электронной подписи для почты и объявляет о том, что для данного домена некоторые email сообщения используют электронную подпись по стандарту DKIM.

Для параметра "o" значение "~" говорит о том, что некоторые письма этого домена подписываются, а значение "-", что все письма подписываются. Иногда в документации по настройке для разных почтовых сервисов или при автоматической генерации DNS записей также может присутствовать параметр "t=y" для тестирования. Нам он не нужен, оставляем только "o=~".

Для второй записи вместо "selectorname" нужно подставить название ключа (идентификатор ключа, имя селектора). На этот счет поговорим ниже при разборе настройки для конкретных сервисов. В значении TXT записи главным параметром является "p=publickey", где вместо "publickey" нужно подставить публичный ключ для проверки цифровой подписи. А теперь как это выглядит для Яндекс почты и Zoho Mail.

Настройка DKIM для Яндекс почты

После авторизации под своим пользователем на Яндексе переходим на страницу https://pdd.yandex.ru и нажимаем на название нужного нам домена. Теперь смотрим в правую колонку и листаем страницу вниз. Нам нужен заголовок "Цифровая подпись DKIM". Ниже ищем ссылку "Показать содержимое записи", где и видим параметры DKIM.

DNS запись для настройки DKIM в панели Яндекс почты

Копируем содержимое текстового поля и вставляем в значение TXT записи в настройках DNS нашего домена. Важно, что имя селектора обязательно должно быть "mail", а значит при создании записи в редакторе DNS имя (хост) должен быть только "mail._domainkey".

В документации Яндекса по настройке DKIM https://yandex.ru/support/pdd/set-mail/dkim.html рекомендуется подождать, пока изменения DNS вступят в силу, что может занять до 72 часов. Но чаще всего, это занимает от нескольких часов до суток.

А пока можем протестировать настройку DKIM этим инструментом. Вводим доменное имя и название селектора (в данном случае "mail").

Проверка DKIM записи

Если тестирование прошло успешно, значит и Яндекс через некоторое время увидит настройку и добавит рядом с доменным именем иконку DKIM подписи.

Подпись DKIM включена для домена на Яндекс почте

Настройка DKIM для Zoho Mail

Входим в панель Zoho https://www.zoho.eu/mail/cpanel-login.html под созданным адресом (info@mysite.com) и переходим на страницу https://mailadmin.zoho.eu/cpanel/.

В меню слева выбираем Mail Administration > Email Authentication > DKIM и видим добавленный недавно домен. Нажимаем на иконку редактирования.

Настройка DKIM для домена в Zoho Mail

Видим пустой список тех самых селекторов. Нажимаем на ссылку создания Add Selector. Поскольку домен у нас один, в поле Domain он выбран автоматически. В поле Selector Name нужно ввести произвольное имя для нового селектора. Но мы бы не советовали называть селектор "mail". Почему? Обсудим ниже. Например, можно назвать его "zohodkim".

После сохранения видим параметры TXT записи, которую нужно добавить в DNS домена.

Создание селектора для DKIM подписи в Zoho Mail

Копируем все из поля "TXT record value" и вставляем в значение TXT записи для домена. Здесь же есть кнопка проверки DKIM записи. Если запись добавлена правильно, то появляется сообщение о ее успешной проверке и кнопка более не показывается. Также можем убедиться, что с настройками все в порядке на вкладке Domains.

Проверка DKIM подписи в панели Zoho Mail

Настройка DKIM подписи на собственном сервере

Выше мы подробно осветили вопрос настройки DKIM для Яндекс почты для домена и Zoho Mail, но как мы уже упоминали, почта также отправляется и с сервера, на котором расположен наш сайт. А значит необходимо подписывать и эти сообщения цифровой подписью.

Здесь есть два наиболее распространенных варианта: использование хостинга или собственного сервера. Если вы пользуетесь услугами хостинг-провайдера, то помочь с настройкой DKIM может только ее служба поддержки. Туда и стоит обращаться за параметрами TXT записи для настройки DKIM и наличием самой подписи у email сообщений.

Настройку DKIM на собственном сервере рассмотрим на примере использования бесплатной панели Vesta Control Panel версии 0.9.8. В качестве почтового сервера в этом случае используется exim4. Для начала нужно зайти в панель под своим пользователем и перейти на вкладку "MAIL", после чего нажать на кнопку "Добавить домен".

Добавление поддержки почты для домена в Vesta CP

В форме вводим имя домена и обязательно устанавливаем флажок напротив опции DKIM.

Добавление домена и поддержки DKIM в Vesta CP

Также важно добавить пользователя, от имени которого будут отправляться email сообщения с сервера. В нашем случае это info@mysite.com. Если используется несколько почтовых адресов, то для каждого из них нужно добавить отдельную учетную запись. В противном случае сообщения не будут отправляться с сервера, а в логе exim4 появится ошибка.

Для добавления почтовых аккаунтов сначала нажимаем на ссылку "Показать аккаунты" для нужного домена

Список почтовых аккаунтов для домена в Vesta CP

после чего нажать на ссылку "Добавить аккаунт".

Переход к добавлению почтового аккаунта в Vesta CP

Заполняем форму и нажимаем на кнопку "Добавить".

Добавление почтового аккаунта в Vesta CP

Теперь поддержка почты включена, а на вкладке DNS автоматически добавилось несколько записей. Переходим на нее и нажимаем на "Показать записи" для нашего домена.

Вкладка DNS в Vesta CP

Здесь видим TXT запись с именем "mail._domainkey" в значении которой указан публичный ключ для проверки DKIM подписи. Это значит, что в качестве названия селектора автоматически был выбран "mail", а на сервере был сформирован приватный ключ в файле /home/username/conf/mail/domain/dkim.pem.

Если мы подключали почту для домена Zoho Mail, то у нас разные селекторы для проверки DKIM подписей для Zoho Mail и собственного сервера. Помните выше, при настройке почты в панели Zoho, мы назвали селектор "zohodkim"? Отлично! Тогда осталось настроить DNS запись. В нашем случае управление DNS записями домена происходит в панели регистратора. Заходим в нее и добавляем запись с параметрами:

Имя Тип Значение
mail._domainkey TXT v=DKIM1; k=rsa; p=ключ_из_vesta

Не сложно догадаться, что вместо "ключ_из_vesta" нужно подставить публичный ключ, который был сформирован в аналогичной DNS записи в панели.

DKIM запись с публичным ключом в Vesta CP

Заходим в ее редактирование, копируем все, что указано после "p=" и подставляем в аналогичный параметр.

Если же пользуемся Яндекс почтой для домена, то у нас нет возможности указать имя селектора, который будет использоваться для проверки DKIM подписи. Яндекс автоматически выбирает имя селектора "mail", которое в нашем случае совпадает с именем селектора в Vesta. Выйти из ситуации можно двумя способами.

  1. Изменить имя селектора в настройках exim4
  2. Заменить приватный ключ, сформированный панелью Vesta на ключ, который используется Яндексом

Здесь мы рассмотрим только второй вариант, поскольку считаем его более простым. Для тех же, кто желает разобраться с первым, можем посоветовать искать подсказки по настройке exim4, например, на форуме Vesta.

Хотя Яндекс почта и не позволяет самостоятельно указать имя селектора DKIM записи, мы можем получить приватный ключ DKIM с помощью API Яндекс почты. Как следует из документации для этого нужно выполнить несколько шагов:

  1. Зайти по ссылке https://pddimp.yandex.ru/api2/admin/get_token, ввести капчу и название домена и получить токен для дальнейшей авторизации.
  2. Получить приватный ключ по ссылке https://pddimp.yandex.ru/api2/admin/dkim/status?domain=mysite.com&token=YOUR_TOKEN&secretkey=yes, куда нужно подставить свой домен и полученный в пункте 1 токен.

После чего можно получить файл json.txt с приватным DKIM ключом для соответствующего домена. Поскольку содержимое файла находится в json формате, копируем все и пользуемся каким-либо онлайн сервис для разбора json. Например, http://jsoneditoronline.org. В поле dkim > secretkey находится нужный нам ключ. Копируем значение этого поля и сохраняем в отдельный файл. Все бы хорошо, но вместо переносов строк мы видим символы "\n". Преобразовать их достаточно просто. Например, можно заменить все вхождения "\n" на тег <br> и открыть файл в браузере. Теперь копируем уже полностью подготовленный приватный ключ и сохраняем в файле dkim.pem. Если все сделано правильно, nо содержимое файла должно начинаться на

-----BEGIN RSA PRIVATE KEY-----

и заканчиваться

-----END RSA PRIVATE KEY-----

Теперь у нас есть приватный ключ, которым Яндекс подписывает все письма, отправленные с его сервера. TXT запись c публичным ключом тоже добавлена в настройки DNS для домена. Осталось только подменить файл dkim.pem, чтобы на нашем сервере exim4 тоже подписывал email сообщения этим же приватным ключом.

Для этого на нужен root доступ к серверу. Сгенерированный для нашего домена файл, который мы должны заменить лежит по пути

/home/username/conf/mail/domain/dkim.pem

"username" и "domain" соответственно нужно подставить свой. Вместо него ложим "dkim.pem" с ключом, полученным при помощи Яндекс API. Теперь письма, отправленные с Яндекса и с собственного VPS, будут подписаны одним приватным ключом, для проверки которого в любом случае будет использоваться одинаковый публичный ключ и имя селектора "mail". Так что проверка должна проходить успешно при любых вариантах отправки почты.

Проверить валидность настроек DKIM можно разными инструментами. Приведем несколько примеров онлайн-сервисов для этого:

Стоит также отметить, что существует RFC4870 с описанием стандарта DomainKeys. Стандарт и библиотека были разработаны Yahoo! для проверки подлинности email сообщений. С 2007 года эта библиотека не поддерживается. DKIM является приемником данного метода проверки и активно поддерживается современными почтовыми сервисами.

Domain-based Message Authentication, Reporting and Conformance или DMARK

DMARK (https://dmarc.org) - предназначен для борьбы с фишингом, установки политик фильтрации сообщений, которые не прошли аутентификацию и управления отчетностью. Настройку DMARK необходимо проводить после настройки SPF и DKIM, поскольку DMARK использует их для проверки email сообщений. Сам стандарт описан в RFC7489.

Наиболее распространенный вариант DNS записи для настройки DMARK имеет следующие параметры

Имя Тип Значение
_dmarc TXT v=DMARC1; p=quarantine; adkim=r; aspf=r;

Разберем параметры в поле значения TXT записи:

  • v (version) - обязательный параметр, в котором указывается версия протокола (DMARC1)
  • p (policy) - обязательный параметр с правилом обработки email сообщений для домена, которое может иметь одно из 3-х значений
    • none - не предпринимать действий, только регистрировать не прошедшие проверку сообщения
    • quarantine - помечать все не прошедшие проверку сообщения как спам
    • reject - отклонить email сообщения, которые не прошли проверку на уровне SMTP протокола
  • adkim (alignment mode for DKIM) - параметр указывает на режим аутентификации DKIM и может принимать значения:
    • r (relaxed) - "расслабленный" режим аутентификации, при котором должны совпадать организационные домены (Organizational Domain - RFC7489) полей "d=" в подписи и From (RFC5322) в email сообщении
    • s (strict) - строгий режим аутентификации, который подразумевает точное совпадение доменов FQDN для поля "d=" в подписи и From в email сообщении
  • aspf (alignment mode for SPF) - параметр указывает на режим аутентификации SPF и может принимать значения:
    • r (relaxed) - при этом методе аутентификации проверку пройдет email сообщения, для которых домен в поле From письма и SPF-аутентифицированный домен находятся в пределах одного организационного домена
    • s (strict) - для прохождения аутентификации требуется полное совпадение доменов в поле MailFrom (RFC5321) и From

Приведем примеры еще несколько параметров, которые могут быть использованы для настройки DMARK:

  • pct (percentage) - указывает какой процент email сообщений будет подвергнут данной политике (по умолчанию pct=100). Например, при настройке "v=DMARC1; p=reject; pct=50;" будут отклонены 50% писем не прошедших аутентификацию.
  • sp (subdomain policy) - правила фильтрации для субдоменов. Может иметь те же значения, что и параметр "p" (policy).
  • rua (reporting URI for aggregate reports) - URI в формате mailto:report@example.com, на который один раз в сутки будут приходить отчеты в формате XML
Проверка настройки DMARK

ADSP

Тоже позволяет настроить политику добавления электронной подписи email сообщений для принимающего сервера. Сам стандарт RFC5617 помечен как Historic. Настройка не является обязательной, но все же часто встречается в различных инструкциях у разных почтовых сервисов.

Для указания политики достаточно добавить DNS запись для домена со следующими полями

Имя Тип Значение
_adsp TXT dkim=all

Здесь параметр dkim может принимать значения

  • all - все письма должны иметь электронную подпись по стандарту DKIM
  • discardable - все письма должны иметь электронную подпись по стандарту DKIM, а если таковой не оказалось, по какой-либо причине, то отправитель просит получателя отклонить такое сообщение
  • unknown - то же, что и отсутствие данной записи в DNS

Эта запись также добавляется после настройки SPF и DKIM.

Обратная DNS запись или PTR

Благодаря этой записи можно получить доменное имя по IP адресу в процессе выполнения Reverse DNS lookup. Чаще всего вы не сможете настроить эту запись самостоятельно. Для этого нужно будет обратиться в поддержку хостинг-провайдера. Но в некоторых случаях (например, при покупке VPS) у вас может быть возможность указать PTR запись в панели управления сервером.

В роли домена можно указать, например, "srv.mysite.com", где "mysite.com" является основным доменом для вашего сервера. При этом получение IP адреса по доменному имени происходит за счет наличия A записи. Значит для домена "srv.mysite.com" в DNS должна быть прописана A запись сопоставления с IP этого же сервера.

В результате нам нужно, чтобы

  1. Домен "srv.mysite.com" указывал на IP сервера 123.123.123.123 (нужно подставить свой) за счет наличия A записи в DNS
  2. PTR запись для IP 123.123.123.123 (того же IP адреса) указывала на домен "srv.mysite.com"

Настройка достаточно важная и при отрицательном результате проверки PTR записи принимающим почтовым сервером ваше сообщение может быть помечено как спам. Протестировать PTR запись также можно онлайн сервисом https://mxtoolbox.com/SuperTool.aspx.

DNS Lookup

DNS Lookup

Reverse Lookup (PTR)

Reverse Lookup

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

По мере настройки почты мы неоднократно упоминали различные онлайн-сервисы и другие способы, которые позволяют проверить правильность настройки. На этапе тестирования отдельных настроек, на наш взгляд, удобно пользоваться сервисом https://mxtoolbox.com/SuperTool.aspx. Он позволяет проверить целый ряд настроек DNS и убедиться в том, что записи успешно созданы и корректно заполнены.

Отдельно нужно упомянуть о том, что принимающий почтовый сервер может пометить письмо как спам, если IP адрес отправителя находится в спам списках (Blacklist). Проверить домен или IP на попадание в такие списки можно упомянутым выше сервисом. Если же случилось так, что IP уже в спам листе, то это настройками не исправить. Конечно, попадание почты в спам не гарантируется, но это вполне вероятно. В этом случае можно посоветовать смену IP адреса или хостинг-провайдера.

После того, как все настройки выполнены хотелось бы выполнить тестовую отправку email сообщения и точно увидеть, что все работает правильно. Для этого можно посоветовать онлайн-сервис https://www.port25.com/authentication-checker/. Для проверки почты достаточно отправить тестовое письмо на адрес check-auth@verifier.port25.com, в ответ на которое сервис отправит email с отчетом. Главная часть отчета выглядит так:

Summary блок отчета от port25.com

Если у вас получился аналогичный результат, значит все отлично. Здесь мы видим, что SPF и DKIM успешно прошли проверку. Как мы уже упоминали выше, DomainKeys проверка не обязательна и полностью заменяется DKIM подписью. Ниже в отчете можно получить более детальную информацию про отдельные этапы проверки. Там же расшифровываются результаты проверки по отдельным параметрам (pass, neutral, fail и т.д.).

Для того, чтобы сделать тестовую отправку email сообщения с собственного сервера можно, например, воспользоваться mail функцией php. Для этого достаточно создать файл mail-test.php с текстом:

<?php
$headers = 'From: info@mysite.com' . "\r\n" . 'Reply-To: info@mysite.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion();
mail('check-auth@verifier.port25.com', 'check', 'check', $headers);
echo 'Письмо отправлено!';

где вместо "info@mysite.com" нужно подставить свой адрес электронной почты. Далее нужно загрузить этот файл в корневую директорию сайта на хостинге и зайти по ссылке

mysite.com/mail-test.php

Если все сделано правильно, на странице браузера будет показано сообщение "Письмо отправлено!", а на указанную почту через несколько минут придет уже знакомый отчет. Результат отчета должен быть аналогичный, показанному выше, а в детальной информации можно увидеть другие IP и домены, соответствующие серверу хостинг-провайдера.

Еще один сервис, которым можно проверить финальную настройку почты: https://www.mail-tester.com. На русском и с подробным отчетом по всем параметрам.

Кроме этого можно отправить тестовое email сообщение на какой-либо собственный ящик gmail или Яндекс почты. Если письмо не попало во входящие, то можно посмотреть полную версию письма со всеми заголовками и т.д. и проверить статусы DKIM и SPF.

Настройка субдомена mail.mysite.com

На работу почты это не влияет, но если вы хотите попадать на страницу входа в почтовый аккаунт Яндекс почты для домена или Zoho Mail через свой субдомен, то настроить это очень просто. Достаточно добавить одну запись в DNS.

Для Яндекс почты это

Имя Тип Значение
mail CNAME domain.mail.yandex.net.

Для Zoho Mail

Имя Тип Значение
mail CNAME business.zoho.eu.

Заключение

На первый взгляд, простая задача подключения почты для домена и ее правильной настройки вылилась в весьма объемную статью и может показаться, что это все очень сложно и затратно по времени. Но в действительности все не так уж печально. Первые несколько раз настройка может показаться долгой, но потом все занимает менее получаса. А полученный опыт и бесперебойно работающая почта покрывают все затраты усилий и времени.

Последний совет: выполняйте настройки последовательно и не спеша. Контролируйте их правильность на каждом этапе. Помните, что DNS имеет кэш, для обновления которого может уйти до 72 часов.

Удачной настройки почты и отличных результатов!

Результаты проверки в mail-tester.com

Метки: DNS, SPF, DKIM, Email