Настраиваем SPF, DKIM и DMARC на сервере Hmailserver

Опубликовано: 18 марта 2018
Раздел(ы): Вебмастеру
Просмотры: 12135
Комментарии: 5

Цель данной статьи: настроить бесплатный почтовый сервер Hmailserver (Windows) так, чтобы письма отправляемые вашим сервером от имени вашего домена не попадали в СПАМ на других серверах, в том числе на MAIL.RU, YANDEX.RU и GMAIL.COM

Исходные данные

Имеется корпоративный домен вида domainname.tld и локальный почтовый сервер Hmailserver под Windows. С почтовых адресов домена ведется только деловая переписка, общее количество отправляемых писем не превышает 100 штук в сутки, массовые рассылки отсутствуют как класс.

В последнее время все больше и больше получателей стали жаловаться, что отправляемые нами письма у них попадают в СПАМ. При этом у пользователей MAIL.RU попадание в СПАМ было 100% вне зависимости от содержимого письма.

Официальное обращение в MAIL.RU

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

Настраиваем SPF, DKIM и DMARC на сервере Hmailserver

Ответ службы поддержки MAIL.RU

Из рекомендаций полученных от MAIL.RU мне стало ясно, чтобы письма отсылаемые нашим сервером не попадали в СПАМ у получателей мне необходимо настроить SPF, DKIM и DMARC.

Необходимые условия

Для того, чтобы настроить SPF, DKIM и DMARC нам понадобиться доступ к NS серверам управляющими записями для вашего домена и доступ к Windows серверу на котором работает Hmailserver.

Как настроить SPF

Напомню, что SPF-запись указывает список серверов, которые имеют право отправлять письма от имени домена.

Чтобы настроить SPF необходимо добавить TXT запись для вашего домена. Для большинства доменов подойдет следующая универсальная запись:

Хост Тип Значение
domainname.tld TXT v=spf1 +a +mx -all

где:

  • domainname.tld — имя вашего домена;
  • v=spf1 — обязательный параметр;
  • +a — разрешать письма от серверов указанных в A-записи;
  • +mx — разрешать письма от серверов указанных в MX-записи;
  • -all — блокировать письма с остальных серверов.

Опубликовав такую запись для своего домена вы даете четкие инструкции всем почтовым серверам в интернете как поступать с письмами с отправителями из вашего домена. Письма отправленные с серверов, IP адреса которых не указаны в записях A и MX, не являются легитимными и могут получателями трактоваться как SPAM письма.

Как настроить DKIM

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

При этом используются пары публичных (открытых) и частых (закрытых) ключей шифрования. Открытый ключ указывается в соответствующей TXT записи домена и используется получателями при декодировании подписи, а закрытый ключ используется на стороне почтового сервера для шифрования подписи.

Таким образом, для настройки DKIM нужно сделать следующее:

  • Сгенерировать пару ключей;
  • Добавить открытый (публичный) ключ в TXT запись вашего домена;
  • Добавить закрытый (частный) ключ на почтовый сервер Hmailserver.

Генерация пары ключей

Самый простой способ сгенерировать пару необходимых нам ключей для DKIM — это воспользоваться сервисом https://port25.com/dkim-wizard/

Настраиваем SPF, DKIM и DMARC на сервере Hmailserver

Поле DomainKey Selector позволяет привязать к одному домену несколько DKIM записей для разных нужд, например если у вас несколько почтовых серверов. У меня только один почтовый сервер и в роли селектора я выбрал просто «mail». Нажмите кнопку [CREATE KEYS] и вы получите пару ключей.

Настройка DKIM в Hmailserver

Приватный ключ необходимо сохранить на Windows сервер где установлен Hmailserver. Для имени файла ключа я использовал значение mail.domainname.tld.pem, а сам файл сохранил на сервере в папку C:\pmta.

Далее в настройках домена в Hmailserver необходимо включить поддержку DKIM и указать путь к закрытому ключу.

Настраиваем SPF, DKIM и DMARC на сервере Hmailserver

Не забывайте указать Selector, который вы назначили при генерации ключа.

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

Добавьте подобную TXT запись для вашего домена:

Хост Тип Значение
mail._domainkey.domainname.tld TXT v=DKIM1; k=rsa; t=s; p=MIIBIjANBg

где:

  • domainname.tld — имя вашего домена;
  • mail в имени хоста — селектор выбранный при генерации ключей и указанный в настройках Hmailserver;
  • p=MIIBIjANBg — открытый ключ.

Настройка политики DMARC

DMARC — это политика действий с пришедшими письмами, у которых в поле From используется публикующий политику домен. DMARC позволяет не только указать, как поступать с такими письмами, но и собрать статистику от всех получателей, поддерживающих серверную часть DMARC.

Опубликуйте DMARC-запись с необходимой политикой для домена

Хост Тип Значение
_dmarc.domainname.tld TXT v=DMARC1;p=reject

где:

  • domainname.tld — имя вашего домена;
  • v=DMARC1 — обязательный параметр;
  • p=reject — политика DMARC.

Проверка работы почтового сервера

После внесения указанных изменений я оправил тестовое письмо:

Настраиваем SPF, DKIM и DMARC на сервере Hmailserver

Как видите все три настройки произведены правильно.

Благодарности

При написании статьи были использованы следующие источники:

  1. http://alexwhite.ru/2014/05/15/mail-spf-i-dkim-hmailserver/
  2. https://habrahabr.ru/company/mailru/blog/315778/

Обсуждение (комментарии к статье)

  1. Привет, ребята. уже где то неделя не могу отправить рекламные письма, все записи на pass, домен рабочий, может кто нибудь скажет что еще проверить?

  2. Я бы ни в коем случае не стал генерировать ключи на стороннем ресурсе. Это нужно делать при помощи OpenSSL на своем сервере. Если приватный ключ попадет на сторону (что неизбежно с чужим ресурсом), то потом от имени вашего мыла может начаться большая кака.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных", на условиях и для целей определенных политикой конфиденциальности сайта.
© Юрий Рассадников, 2011 - 2024
uptime узнать
Домен : reg.ru
Хостинг : adman.com
SQL - 6 | 0,144 сек. | 8.41 МБ