Как настроить DKIM для домена

DKIM — подпись, по которой почтовые службы узнают, что письмо действительно отправлено от вашего домена. В инструкции — что это за запись, куда её добавить, как проверить результат и что делать, если подпись не проходит.

Обновлено:

Содержание
  1. Что такое DKIM и зачем он нужен
  2. Как устроена запись DKIM
  3. Пошаговая настройка
  4. Как проверить DKIM
  5. Частые ошибки и как их исправить
  6. Что дальше: DMARC

Что такое DKIM и зачем он нужен

DKIM (DomainKeys Identified Mail) — электронная подпись письма. Сервис, который отправляет почту, подписывает каждое письмо закрытым ключом. Открытый ключ лежит в DNS вашего домена, и почтовая служба получателя сверяет по нему подпись.

Если подпись сходится, почтовая служба знает две вещи: письмо отправлено с разрешения владельца домена и по дороге его никто не изменил. Если подписи нет или она не сходится, письмо проверяется строже и чаще попадает в спам.

DKIM — одна из трёх записей, которые настраивают для рассылок:

ЗаписьЧто проверяетГде хранится
DKIMПодпись письма: отправлено с разрешения домена и не измененоTXT-запись селектор._domainkey.домен
SPFКакие серверы могут отправлять письма от имени доменаTXT-запись на самом домене
DMARCЧто делать с письмами, которые не прошли проверкуTXT-запись _dmarc.домен

Как устроена запись DKIM

Запись DKIM — это TXT-запись в DNS домена. Её имя состоит из селектора и служебной части _domainkey, а значение содержит открытый ключ.

Тип:      TXT
Имя:      dkim._domainkey
Значение: v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC…
  • dkim — селектор. Он нужен, чтобы у одного домена могло быть несколько ключей: свой у корпоративной почты, свой у сервиса рассылок.
  • v=DKIM1 — версия стандарта.
  • k=rsa — алгоритм ключа.
  • p=… — сам открытый ключ, длинная строка из латинских букв и цифр. Её копируют целиком, без пробелов и переносов.

Запись делается для домена, который стоит в обратном адресе письма. Если рассылка уходит от news@shop.ru, запись добавляется в DNS домена shop.ru.

Пошаговая настройка

Шаг 1. Получите запись в сервисе рассылок

Ключ создаёт сервис, который будет отправлять письма: закрытая часть остаётся у него, открытую он показывает вам для DNS. Значения у каждого сервиса свои — копируйте их из личного кабинета, а не из примеров в интернете.

Шаг 2. Добавьте TXT-запись в DNS домена

Записи добавляются там, где работает DNS вашего домена: обычно у регистратора, иногда у хостинга или в Cloudflare. Названия разделов отличаются, но порядок везде одинаковый — найти управление DNS-зоной и добавить запись типа TXT.

Где DNSКуда идтиЧто учесть
Reg.ruДомены → домен → «DNS-серверы и управление зоной» → «Добавить запись» → TXTВ поле «Subdomain» укажите dkim._domainkey
Timeweb«Домены и SSL» → домен → «Настройки DNS» → «Добавить запись» → TXTЕсли домен делегирован на DNS хостинга, записи добавляются у хостинга
CloudflareСайт → DNS → Records → Add record → Type: TXTName: dkim._domainkey, кавычки вокруг значения Cloudflare добавит сам
Другой регистраторРаздел «DNS», «Управление зоной» или «Ресурсные записи»Домен должен работать на DNS-серверах этого регистратора

В поле имени указывайте только dkim._domainkey. Большинство панелей сами дописывают домен, и полное имя превращается в dkim._domainkey.shop.ru.shop.ru — такую запись почтовые службы не найдут.

Шаг 3. Добавьте или дополните SPF

DKIM работает в паре с SPF. Если записи SPF у домена ещё нет, добавьте её на сам домен (имя @):

v=spf1 include:spf.falconsender.ru -all

Если SPF уже есть — например, для корпоративной почты, — не создавайте вторую запись. У домена должна быть ровно одна запись SPF: добавьте include сервиса рассылок в существующую перед окончанием ~all или -all.

v=spf1 include:_spf.yandex.net include:spf.falconsender.ru ~all

Шаг 4. Дождитесь обновления DNS

Обычно новая запись начинает работать через 15–60 минут, иногда до суток. Срок зависит от регистратора и времени жизни записей (TTL).

Как проверить DKIM

Проверить можно тремя способами — от простого к надёжному.

  1. Кнопкой проверки в сервисе рассылок. Сервис сам запросит запись в DNS и сверит её с ключом.
  2. Запросом к DNS. Команда покажет, что запись опубликована и значение совпадает с кабинетом:
nslookup -type=TXT dkim._domainkey.shop.ru
  1. По заголовкам реального письма. Отправьте тестовое письмо себе на Gmail, откройте меню письма → «Показать оригинал». В строке DKIM должно стоять PASS и ваш домен. В Яндекс Почте то же видно в «Свойствах письма» в заголовке Authentication-Results.
Authentication-Results: mx.google.com;
       dkim=pass header.i=@shop.ru header.s=dkim;
       spf=pass smtp.mailfrom=…;
       dmarc=pass header.from=shop.ru

Последний способ самый надёжный: он показывает, как подпись видит почтовая служба получателя, а не только то, что запись есть в DNS.

Частые ошибки и как их исправить

Что видноПричинаЧто сделать
Запись не находитсяДомен дописан в имя дважды или DNS ещё не обновилсяОставьте в имени только dkim._domainkey, подождите до суток
dkim=fail или «подпись не проверена»Ключ обрезан, разбит пробелами или скопирован не полностьюУдалите запись и вставьте ключ заново одной строкой
Запись есть у регистратора, но не видна в DNSДомен работает на DNS-серверах другого провайдераПроверьте NS-серверы домена и добавьте запись там
SPF не проходитУ домена две записи SPFОбъедините их в одну
Письма перестали доходить после DMARCСтрогая политика DMARC включена раньше, чем заработала подписьСначала DKIM и SPF, проверка, и только потом DMARC

Что дальше: DMARC

Когда DKIM и SPF проходят проверку, добавьте третью запись — DMARC. Она говорит почтовым службам, что делать с письмами, которые не прошли проверку, и присылает отчёты о том, кто отправляет почту от вашего домена. Gmail требует DMARC от массовых отправителей, а Яндекс и Mail.ru настоятельно его рекомендуют.

Начинайте с мягкой политики, которая ничего не блокирует, а только присылает отчёты:

Тип:      TXT
Имя:      _dmarc
Значение: v=DMARC1; p=none; rua=mailto:dmarc@shop.ru

Через 2–4 недели, когда по отчётам видно, что все ваши легитимные письма проходят проверку, политику можно ужесточить до p=quarantine или p=reject.

Даже с идеально настроенной подписью письма могут попадать в спам из-за базы или содержания. Причины и что с ними делать — в инструкции «Почему письма попадают в спам».

Частые вопросы

Обязательно ли настраивать DKIM

Формально нет, но без подписи письма чаще попадают в спам, а Gmail требует подпись от массовых отправителей, а Яндекс и Mail.ru настоятельно её рекомендуют. Для рассылок по базе подпись DKIM сегодня — обязательный минимум вместе с SPF.

Можно ли настроить DKIM для адреса на mail.ru или gmail.com

Нет. Запись добавляется в DNS домена, а доступ к DNS есть только у владельца домена. Для рассылок нужен адрес на своём домене, например news@ваш-домен.ru.

Нужен ли отдельный DKIM для каждого сервиса

Да. Каждый сервис, который отправляет письма от вашего домена, подписывает их своим ключом. У ключей разные селекторы, поэтому записи разных сервисов не конфликтуют: можно держать одновременно DKIM корпоративной почты и сервиса рассылок.

Как часто нужно менять ключ DKIM

Регулярная смена ключа — хорошая практика для крупных отправителей, но для большинства компаний ключ работает годами. Менять его обязательно, если есть подозрение, что закрытый ключ попал к посторонним.

Что важнее: DKIM или SPF

Нужны обе записи. SPF проверяет, с какого сервера пришло письмо, DKIM — что письмо не изменили и подписал владелец домена. DKIM надёжнее: он сохраняется при пересылке, а SPF при пересылке часто не проходит.

Попробуйте на своей базе

До 1 000 подписчиков — бесплатно навсегда. Карта при регистрации не нужна.