База знаний

Инструкции и ответы на вопросы о хостинге, работе сайтов и приложений

Настройка SPF, DKIM, DMARC

Если ваши письма с доменной почты не доходят до получателя или попадают в спам, стоит настроить в зоне DNS домена три TXT‑записи: SPF, DKIM и DMARC.

Что это за записи и зачем они нужны

Почтовые сервисы проверяют отправителя письма для того, чтобы защитить репутацию домена: почтовый адрес отправителя часто могут подделывать и использовать для спама и фишинга.

Пример: У вас интернет‑магазин, клиентам могут прийти поддельные письма с предложением купить товары по акции. Ссылки внутри будут фальшивыми → при переходе откроется мошеннический сайт → нехорошо.

Сервисам достаточно проверить SPF и DKIM доменов‑отправителей, чтобы защитить пользователей от поддельных писем. В записи DMARC указано, как действовать серверу, когда письмо не проходит такую проверку.

SPF

Это TXT-запись для проверки сервера отправителя. В запись SPF (Sender Policy Framework) включен список серверов, с которых разрешено или запрещено отправлять письма от имени домена.

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

SPF‑запись может быть только одна. Ее нужно добавлять для того домена или поддомена, на котором будет почта:

domain.com. TXT "v=spf1 ..."

Чтобы настроить запись на нашем хостинге, используйте пример:

v=spf1 a mx ip4:141.8.194.175 ip6:2001:db8:1234::/48 ~all

где 141.8.194.175 и 2001:db8:1234::/48 — IP‑адреса сервера, на котором находится аккаунт. Скопировать их можно на странице IP‑адреса.

Примеры записей для других почтовых сервисов:

  • Google: v=spf1 include:_spf.google.com ~all
  • Яндекс: v=spf1 redirect=_spf.yandex.net
  • VK Workmail: v=spf1 redirect=_spf.mail.ru

SPF‑запись для почты, которая будет отправляться с нашего сервера и с сервера Яндекса:

v=spf1 a mx ip4:141.8.194.175 ip6:2001:db8:1234::/48 include:_spf.yandex.net ~all

SPF состоит из трех частей, разберем на примере:

v=spf1 a mx ip4:141.8.194.175 ip6:2001:db8:1234::/48 include:_spf.yandex.net ~all
  1. v=spf1 — версия записи
  2. a mx ip4:141.8.194.175 ip6:2001:db8:1234::/48 include:_spf.yandex.net — параметры и их значения
  3. ~ — один из возможных префиксов, в примере он указывает, что делать с письмами с любых других серверов, которые не указаны в параметрах.

Основные параметры:

  • all — любой сервер
  • ip4 — указанный IP‑адрес или подсеть адресов
  • a — подстановка IP‑адреса, который указан в A‑записи домена
  • mx — подстановка IP‑адреса, указанного в MX‑записях домена
  • include — письмо от имени этого домена можно отправить от имени указанных почтовых сервисов (например, Яндекса или Google).

Также есть модификатор redirect — параметр, который поможет сервису получить SPF‑запись в другом месте. SPF с ним выглядит вот так:

v=spf1 redirect=_spf.yandex.net

Если указан redirect, остальные значения будут игнорироваться.

К любому параметру можно добавить префикс, чтобы было понятно, что делать с письмами:

  • + — принимать (по умолчанию)
  • ‑ — отклонять
  • ~ — отправить в папку «Спам»
  • ? — нужна дополнительная проверка.

Проверить запись на корректность можно с помощью специального сервиса, например, MXToolBox. Перед проверкой дождитесь обновления кеша DNS, обычно это занимает 2–8 часов.

DKIM

TXT-запись DKIM (DomainKeys Identified Mail) — проверка домена отправителя.

Она состоит из двух частей: подписи и ключа для расшифровки подписи. Подпись добавляется на сервере в заголовки исходящих писем, а ключ расшифровки добавляется в DNS‑записи домена. Сервер‑получатель сверяет подпись и ключ — если они не совпадают, письмо помечается как спам.

И подпись, и ключ имеют уникальные значения, они должны быть сформированы и получены в одном месте. Это как замок и ключ: если купить замок в одном месте, а ключ — в другом, то открыть ничего не получится.

Поддомен в имени TXT‑записи зависит от вашего почтового сервиса.

Пример нашей записи с незаполненными значениями параметров:

dkim_selector._domainkey.domain.com. TXT "v=DKIM1; k=rsa; p=..." 

где:

  • dkim_selector._domainkey.domain.com. — имя записи DKIM
  • k, t, p — параметры ключа.

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

  • Если почта на домене работает от нас — просто включите подпись в разделе СайтыМои сайты → выберите сайт → нажмите на Подпись DKIM.
  • Если почта создавалась и обслуживается в другом сервисе:
    1. Скопируйте значение DKIM в настройках этого сервиса
    2. Перейдите в раздел СайтыМои сайты → выберите сайт → нажмите на DNS‑записи
    3. Добавьте TXT‑запись, указав те имя и значение, которые вы получили.

DMARC

DMARC определяет, что делать с письмами после проверки SPF и DKIM: принять письмо, поместить в папку «Спам» или отклонить.

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

Запись нужно добавлять для поддомена _dmarc:

_dmarc.domain.com. TXT «v=; p=; ...»

Вот готовые примеры с параметрами, которые вы можете использовать в DMARC:

  • v=DMARC1; p=quarantine; sp=quarantine; aspf=s;

    письма с ящиков основного домена или поддомена: помещает в папку «Спам» те, которые не прошли проверки,
    строгая проверка SPF.

  • v=DMARC1; p=reject; sp=quarantine; pct=100;

    письма с ящиков основного домена: отклоняет те, которые не прошли проверку,
    письма с поддоменов отправляет в папку «Спам»,
    проверяет 100% писем.

  • v=DMARC1; p=none; 

    ничего не делает с письмами, почтовый сервис сам решает, что с ними делать.

  • v=DMARC1; p=quarantine; fo=1; ruf=mailto:reports@domain.ru;

    письма с ящиков основного домена помещает в папку «Спам»,
    отправляет отчет о письмах, где не пройдена хотя бы одна проверка, на почту reports@domain.ru.

ТегОписаниеЗначение
vВерсия протоколаDMARC1
pПравила для доменаnone — бездействовать
quarantine — поместить в папку «Спам»
reject — отклонить
aspfРежим проверки соответствия SPF‑записейr (relaxed) — разрешить частичные совпадения
s (strict) — разрешить только полные совпадения
pctСообщения, подлежащие фильтрации (в %)Можно указать процент сообщений.
По умолчанию 100%
spПравила для поддоменовnone — бездействовать
quarantine — поместить в папку «Спам»
reject — отклонить
ruaПочта для отчетов о проверкеmailto:ваша_почта
rufПочта для отчетов о неуспешных проверкахmailto:ваша_почта
Была ли эта инструкция полезной?