При большом количестве рассылок с домена есть большая вероятность снизить рейтинг своего домена и своих писем до того, что все отправленные письма будут попадать в спам и не доходить до получателей.
Для того чтобы электронные письма собственных почтовых серверов успешно проходили проверку подлинности отправителя и проверку на спам - необходимо настроить три текстовых записи домена: SPF/DKIM/DMARC
Проверить наличие всех данных типов записей вашего домена можно по этой ссылке:
https://mxtoolbox.com/NetworkTools.aspx
В случае если проверка показала что какие-либо записи отсутствуют то необходимо приступить к созданию таковых записей.
Создать необходимые записи можно в личном кабинете управления доменным именем.
Как работают записи SPF/DKIM/DMARC
SPF (Sender Policy Framework) — SPF-подпись, необходима для того чтобы указать в TXT-записи список серверов и имя домена, которые могут отправлять письма в этом домене. фильтры получателя будут их проверять менее тщательно, а доставляемость писем будет выше.
DKIM (Domain Keys Identified Mail) — это цифровая подпись, которая подтверждает подлинность отправителя и гарантирует целостность доставленного письма. DKIM хранит 2 ключа шифрования — открытый и закрытый. С помощью закрытого ключа формируются заголовки для всей исходящей почты, а открытый ключ как раз добавляется в DNS записи в виде TXT файла.
Проверка DKIM происходит автоматически на стороне получателя. Если домен в письме не авторизован для отправки сообщений, то письмо может быть помечено подозрительным или помещено в спам, в зависимости от политики получателя.
DMARC (Domain-based Message Authentication, Reporting and Conformance) — это подпись, которая позволяет принимающему серверу решить, что делать с письмом. DMARC использует DKIM и SPF. Если отправленное сообщение не прошло проверку DKIM и SPF, то оно не пройдет и DMARC. Если же сообщение успешно прошло хотя бы одну проверку (DKIM или SPF), то и проверку DMARC сообщение пройдет успешно. DMARC добавляется только после того, как настроены записи SPF и DKIM.
Как правильно ввести записи в панели управления доменом. Значения допустимых параметров записей.
SPF
Пример записи SPF:
Название записи |
Формат |
Содержание |
ваш_домен. (у некоторых хостингов вместо этого может подставляться @ или оставаться пустое поле, При написании названия «ваш_домен.» оно заменится автоматически) |
TXT |
v=spf1 +a +mx -all |
Ниже представлены значения допустимых параметров записи SPF:
«v=spf1» — версия SPF, обязательный параметр, всегда spf1, никакие другие версии не работают;
«+» — принимать письма (по умолчанию);
«-» — отклонить;
«~» — «мягкое» отклонение (письмо будет принято, но будет помечено как спам);
«?» — нейтральное отношение;
«mx» — включает в себя все адреса серверов, указанные в MX записях домена;
«ip4» — позволяет указать конкретный IP-адрес или сеть адресов;
«a» — IP-адрес в A-записи;
«include» — включает в себя хосты, разрешенные SPF-записью указанного домена;
«all» — все остальные сервера, не перечисленные в SPF-записи;
«ptr» — проверяет PTR-запись IP-адреса отправителя (разрешено отправлять всем IP-адресам, PTR-запись которых направлена на указанный домен) (не рекомендуется к использованию согласно RFC 7208);
«exists» — выполняется проверка работоспособности доменного имени;
«redirect» — указывает получателю, что нужно проверять SPF запись указанного домена, вместо текущего домена.
DKIM
Для того чтобы правильно ввести запись DKIM - необходимо предварительно сгенерировать пару openssl ключей:
Генерация приватного ключа при помощи утилиты openssl:
openssl genrsa -out %имяприватногоключа%.pem 1024
Генерация публичного ключа из приватного ключа при помощи утилиты openssl:
openssl rsa -pubout -in %имяприватногоключа%.pem -out %имяпубличногоключа%.pem
Пример записи DKIM
Название записи |
Формат |
Содержание |
Селектор(любой, например mail)._имя.домена |
TXT |
v=DKIM1; k=rsa; p=(сгенерированный публичный ключ) |
Синтаксис DKIM
Обязательные элементы:
«v» — версия DKIM, всегда принимает значение v=DKIM1;
«k» — тип ключа, всегда k=rsa;
«p» — публичный ключ, кодированный в base64.
Необязательные элементы:
«t=y» — режим тестирования. Нужно только для отслеживания результатов;
«t=s» — означает, что запись будет использована только для домена, к которому относится; не рекомендуется, если используются субдомены;
«h» — предпочитаемый hash-алгоритм, может принимать значения «h=sha1» и «h=sha256»;
«s» — тип сервиса, использующего DKIM. Принимает значения «s=email» (электронная почта) и «s=*»(все сервисы). По умолчанию «*»;
«;» — разделитель.
DMARC
Пример записи DMARC (не имеет значения, какими сервисами для рассылки вы пользуетесь):
Название записи |
Формат |
Содержание |
_dmarc.имя.домена |
TXT |
v=DMARC1; p=reject; sp=reject; ruf=mailto:[email protected]; fo=1 |
Синтаксис DMARC
«v» — версия, всегда принимает значение «v=DMARC1» (обязательный параметр);
«p» — правило для домена (обязательный параметр). Может принимать значения «none», «quarantine»и «reject», где «p=none» не делает ничего, кроме подготовки отчетов; «p=quarantine» добавляет письмо в спам; «p=reject» отклоняет письмо.
Тег «sp» отвечает за субдомены и может принимать такие же значения, как и «p».
«aspf» и «adkim» позволяют проверять соответствие записям и могут принимать значения «r» и «s», где «r» — «relaxed» (более мягкая проверка), а «s» — «strict» (строгое соответствие).
«pct» отвечает за кол-во писем, подлежащих фильтрации, указывается в процентах, например, «pct=20» будет фильтровать 20% писем.
«rua» — позволяет отправлять ежедневные отчеты на email, пример: «rua=mailto:[email protected]», также можно указать несколько email через запятую без пробелов.
«ruf» — отчеты для писем, не прошедших проверку DMARC.
Тег «fo» служит для генерации отчетов, если один из механизмов сломается. «fo=0» (используется по умолчанию) — присылать отчет, если не пройден ни один этап аутентификации; «fo=1» — присылать отчет, если не пройден хотя бы один этап аутентификации; «fo=d» — присылать отчет, если не пройдена аутентификация DKIM; «fo=s» — присылать отчет, если не пройдена аутентификация SPF.
Запись DMARC может быть одна для домена и поддоменов, т.к. в ней можно явно указать действия для тега «sp». Если вам требуется специфическая запись для поддоменов, можно создать отдельную запись с наименованием «_dmarc.ваш_поддомен.ваш_домен.».
После добавления каждой записи их наличие и корректность можно проверить сервисом ссылка на который указана в начале статьи.