Что такое 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: TXT | Name: 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
Проверить можно тремя способами — от простого к надёжному.
- Кнопкой проверки в сервисе рассылок. Сервис сам запросит запись в DNS и сверит её с ключом.
- Запросом к DNS. Команда покажет, что запись опубликована и значение совпадает с кабинетом:
nslookup -type=TXT dkim._domainkey.shop.ru
- По заголовкам реального письма. Отправьте тестовое письмо себе на 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 при пересылке часто не проходит.