Цель данной статьи: настроить бесплатный почтовый сервер Hmailserver (Windows) так, чтобы письма отправляемые вашим сервером от имени вашего домена не попадали в СПАМ на других серверах, в том числе на MAIL.RU, YANDEX.RU и GMAIL.COM
Исходные данные
Имеется корпоративный домен вида domainname.tld и локальный почтовый сервер Hmailserver под Windows. С почтовых адресов домена ведется только деловая переписка, общее количество отправляемых писем не превышает 100 штук в сутки, массовые рассылки отсутствуют как класс.
В последнее время все больше и больше получателей стали жаловаться, что отправляемые нами письма у них попадают в СПАМ. При этом у пользователей MAIL.RU попадание в СПАМ было 100% вне зависимости от содержимого письма.
Официальное обращение в MAIL.RU
Я написал письмо в поддержку MAIL.RU. В ответе мне сообщили, что причиной блокировки писем является массовый спам, который отправляется от имени моего домена.
Ответ службы поддержки MAIL.RU
Необходимые условия
Для того, чтобы настроить 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». Нажмите кнопку и вы получите пару ключей.
Настройка DKIM в 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.
Как и где добавлять эти записи
Эти записи добавляются или изменяются у вашего хостинг-провайдера — например, nic.ru, reg.ru, и так далее. Как зайти в раздел для редактирования этих записей у вашего провайдера — можно посмотреть здесь: https://help.mail.ru/biz/domain/verification_settings/nic/spf
Более подробно можно узнать в справке или поддержке вашего хостера.
Где найти записи, которые необходимо добавить
В личном кабинете в разделе «Настройки Email» — «Доставляемость Email». Для каждого добавленного вами домена будут расписаны 3 TXT записи, первая запись — SPF, вторая запись — DKIM и третья запись — DMARC.
Если запись SPF уже есть
Если у вас уже есть SPF запись (такое может быть, например, если вы используете почту для доменов на mail.ru), то вам нужно изменить существующую запись, а не добавлять новую — потому что по стандарту SPF запись может быть только одна.
Во-первых, если в записи есть параметр redirect, то его нужно заменить на include. Во-вторых, нужно добавить в запись следующее: «include:_spf.emailtransfer.net». Например:
Было: v=spf1 redirect=_spf.mail.ru
Должно стать: v=spf1 include:_spf.mail.ru include:_spf.emailtransfer.net
Добавляем DKIM запись
В зависимости от хостинга, на котором расположен ваш домен, добавляем новую TXT запись или создаем поддомен с именем имеющим вид, например:70._domainkey. и соответствующими значениями параметров k и p. Имя и значения параметров вы найдете на странице «Доставляемость Email».
Добавляем DMARC запись
Так же, как и для записи DKIM, создаем TXT запись DMARC с именем: _dmarc. и значениями: v=DMARC1; p= none
Если наша система говорит, что записи не в порядке
Это может быть по двум причинам. Первая — прошло слишком мало времени. Система DNS устроена так, что публикация изменений может занять до 48 часов. Если вы внесли записи недавно, попробуйте проверить еще раз через некоторое время.
Вторая причина — записи опубликованы неправильно. Вы можете проверить, как опубликовались записи, с помощью сервиса mxtoolbox.com . Для проверки SPF нужно ввести ваш домен, и выбрать из выпадающего списка SPF. Для проверки DKIM нужно ввести et._domainkey. и выбрать DKIM. Нужно сравнить значения, которые выдаёт mxtoolbox, с теми, что указаны у нас.
Если ничего не помогает — пишите\звоните, постараемся помочь.
Привет! Недавно я проводил вебинар на тему E-mail-маркетинга и уловил нотки непонимания, когда речь зашла о DKIM и SPF. Это не удивительно, поскольку многие владельцы бизнесов и даже интернет-маркетологи ещё не слышали об этом феномене 😃 Но время идет, правила «игры» меняются и нам жизненно необходимо им соответствовать.
Постараюсь максимально просто и доступно объяснять, что такое DKIM/SPF и как их внедрять для корректной работы с E-mail-рассылками.
DKIM и SPF - это записи в DNS настройках вашего домена, которые почтовые сервисы используют для аутентификации ваших рассылок. Иными словами, при отправке письма Подписчику сервисы вроде Gmail/Mail/Яндекс производят проверку этого самого письма на подлинность. Подлинность подтверждается, если сервисы обнаруживают в настройках вашего домена соответствующую запись, включающую в себя электронную подпись.
Простой пример в качестве сравнения. Вы ведет автомобиль, сотрудник ДПС останавливает вас и просит предъявить документы. Если у вас нет водительских прав, которые позволяют управлять автомобилем, то вы - нарушитель. И можно сколь угодно громко и долго кричать о том, что машина ваша и вы ее купили, но по факту управлять ей в данный момент вы права не имеете.
На самом деле, ничего сложного в добавлении txt-записей и цифровой подписи в настройки домена нет.
Прежде всего, нужно понять в каком месте вы можете добавить DNS-записи. Обычно, это сайт Регистратора домена или сайт Хостинга, где, при адекватной навигации, найти Настройки домена абсолютно не сложно.
У меня на хостинге все интуитивно понятно:
Домены → Управление доменами → Настройки → DNS → Новая DNS-запись
Подобный путь будет в большинстве сервисов. Если же найти настройки домена и сам пункт внесения DNS-записей не удалось, то обратитесь в тех.поддержку и вам все обязательно расскажут.
Настройка DKIM
DKIM — это DomainKeys Identified Mail
То есть, это и есть те самые ключи, которые нам нужны для аутентификации. Их можно создать самостоятельно, если рассылка производится через ваш сервер, либо (более частый и удобный вариант) взять в сервисе, которые используется для рассылок (например, Unisender или Mailchimp).
Вот такую запись нас просит создать Mailchimp, что мы и делаем, в моем случае, на хостинге
Unisender
просит добавить две записи несколько иного содержания.
Domainkey TXT o=~ us._domainkey TXT k=rsa; p=XXXXXXXXXXXXXXXXXXXXX
Где XXXXXXXXXXXXXXXXXXXXX — это ваш уникальный ключ, которые генерируется в личном кабинете сервиса.
SPF – Sender Policy Framework, то есть проверка отправителя.
Это необходимо, поскольку при использовании SMTP в качестве отправителя можно указать любой адрес. SPF-запись позволяет внести адреса серверов, с которых разрешается отправка писем от Вашего имени. Таким образом, сервисы вроде Яндекс и Mail смогут понять санкционирована ли рассылка и исходит ли она от владельца домена.
Настраивается SPF также легко, путем добавления записей в DNS-домена.
Пример записи от MailChimp:
Идем в настройки и добавляем соответствующую запись в домене:
SPF в Unisender
Сервис для рассылок Юнисендер просит добавить 2 txt-записи в настройки домена
@ TXT v=spf1 include:spf.unisender.com ~all @ TXT spf2.0/mfrom,pra include:senderid.unisender.com ~all
где;
@
— это имя хоста (то есть при указании символа запись будет внесена на основной домен, в моем случае сайт)
TXT
— это тип записи
Значение/Текст
— само содержание записи
Внимание!
Если у вы уже используется какой-то сервис для рассылок, то у вас, возможно, есть текстовая запись SPF с v=spf1
.
В таком случае, просто добавьте в конец этой записи (но перед выражением~all
или -all
) значение
Include:spf.unisender.com (для Unisender) или include:servers.mcsv.net (для Mailchimp)
Поздравляю! Настройка завершена, теперь ждем от 24 до 48 часов, чтобы DNS обновились и проверяем аутентификацию в сервисе.
У меня время еще не прошло, поэтому я вижу ошибку 😃
Проверил через несколько часов и вуаля:
Сейчас пойду и сделаю первую рассылку с этой статьей по своей немногочисленной (пока еще) базе. Надеюсь, было полезно 🙂
DKIM (DomainKeys Identified Mail) — метод почтовой идентификации. Цифровая подпись DKIM для почтового домена позволяет снизить шанс попадания письма в спам и защититься от фишинговых рассылок.
Настройка DKIM
Чтобы настроить DKIM-подпись, . В зависимости от используемой панели (ISPmanager
, Plesk
или cPanel
Готово! Все письма, отправленные с выбранного почтового домена, будут содержать DKIM-подпись.
Настройка DKIM для отдельного домена
Готово! Все письма, отправленные с выбранного домена, будут содержать DKIM-подпись.
Настройка DKIM для нескольких доменов
На всех выбранных доменах будет одинаково настроена почтовая служба.
Готово! Все письма, отправленные с выбранных доменов, будут содержать DKIM-подпись.
Готово! Ваши письма будут содержать DKIM-подпись.
Настройка DMARC
Внимание
Переходите к подключению DMARC только после настройки DKIM.
DMARC — технология, которая задаёт алгоритм действий с письмами, не содержащими DKIM-подписи, т.е. признанными поддельными. Они могут быть приняты, отправлены в папку «Спам» или отклонены.
Чтобы установить DMARC-политику, нужно добавить TXT-запись с нужным алгоритмом. Нейтральная DMARC-политика задаётся следующей TXT-записью:
Имя записи | Тип записи | TTL | Значение записи |
_dmarc.domain.ru | TXT | 3600 | v=DMARC1; p=none; aspf=r; sp=none |
где domain.ru
— имя вашего почтового домена.
Вы можете настроить DMARC-политику иначе, обратившись к статье Mail.ru .
В зависимости от используемой панели (ISPmanager , Plesk или cPanel ) следуйте дальнейшей инструкции.