Обратите внимание на недорогие виртуальные серверы в Амстердаме (Нидерланды) от «Хостера года» 2021, 2022 и 2024 годов. Оплата в рублях картами банков РФ, СБП, электронными деньгами. Подробнее.

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

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

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

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

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

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

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

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

Ответ службы поддержки 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/

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

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

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

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

Не забывайте указать 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.

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

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

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

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

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

  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 - 2025
uptime узнать
Домен : reg.ru
Хостинг : adman.com
SQL - 7 | 0,152 сек. | 7.58 МБ