Главная Статьи Интернет

Как настроить DKIM: запись, селектор и подпись писем

DKIM ставит на каждое письмо криптографическую подпись, по которой получатель проверяет, что письмо действительно отправлено вами и не изменено по дороге. Без неё крупные почтовики режут доверие к отправителю, а с 2024 года для массовых рассылок DKIM стал фактически обязательным. Разберём настройку по шагам — от ключей до проверки — и типичные ошибки, из-за которых подпись не работает.

Если нужен общий обзор, чем DKIM отличается от SPF и DMARC, — начните со статьи SPF, DKIM и DMARC простыми словами. Здесь — практика настройки.

Как работает подпись: селектор и два ключа

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

Как проверяется DKIM-подпись Ваш сервер 🔑 приватный ключ подписывает письмо ✉️ DKIM-Signature d=домен; s=селектор Сервер получателя проверяет подпись совпало → доверие 🗝️ публичный ключ в DNS селектор._domainkey.домен Получатель берёт селектор из письма и запрашивает публичный ключ из DNS ↗
Приватный ключ подписывает на вашей стороне, публичный из DNS проверяет на стороне получателя.

В заголовке подписанного письма это выглядит так:

DKIM-Signature: v=1; a=rsa-sha256; d=example.ru; s=mail; h=from:to:subject:date; bh=...; b=...

Здесь d=example.ru — ваш домен, s=mail — селектор. Получатель по ним строит адрес и запрашивает публичный ключ из DNS: mail._domainkey.example.ru. Схема имени всегда одна: <селектор>._domainkey.<домен>.

Настройка по шагам

1
Проверьте, не настроен ли DKIM уже. Многие почтовые сервисы (Yandex 360, VK WorkMail, Google Workspace, сервисы рассылок) генерируют ключи автоматически — вам остаётся только добавить запись. Загляните в панель своего почтового провайдера в раздел безопасности домена или DKIM.
2
Получите публичный ключ и селектор. Если сервис управляет почтой — он покажет готовую TXT-запись и селектор, копируйте оттуда. Если у вас свой сервер (Postfix и т.п.) — ключи генерирует почтовик (OpenDKIM, Rspamd): приватный остаётся на сервере, публичный вы вынесете в DNS.
3
Добавьте TXT-запись в DNS. В зоне домена создайте запись с именем <селектор>._domainkey и значением вида v=DKIM1; k=rsa; p=<длинная строка публичного ключа>. Как добавлять записи — в статье про DNS-записи домена.
4
Включите подпись на сервере. Если почтой управляет сервис — этот шаг уже сделан за вас. На своём сервере включите DKIM-подписание в конфиге MTA и укажите тот же селектор и домен.
5
Проверьте. Дайте DNS обновиться (от минут до пары часов) и убедитесь, что запись видна и письма подписываются.
Имя записи: mail._domainkey.example.ru Тип: TXT Значение: v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC...

Из чего состоит значение записи

ПараметрЧто означает
v=DKIM1Версия. Всегда DKIM1, ставится первым
k=rsaТип ключа. Обычно RSA
p=...Сам публичный ключ — длинная строка. Главная и самая хрупкая часть
t=y (необяз.)Тестовый режим — на время отладки; в бою убирают
🛠
Проверить, что DKIM подхватился, можно в проверке почты домена: введите домен и селектор — сервис покажет, найдена ли запись, вместе с состоянием SPF и DMARC.

Как узнать свой селектор

Селектор задаёт тот, кто настраивает подпись, поэтому он у всех разный: mail, default, google, selector1, mxvar1 и т.п. Самый надёжный способ узнать свой — открыть любое отправленное с домена письмо, посмотреть исходный код (в Gmail — «Показать оригинал») и найти в заголовке DKIM-Signature параметр s=. Это и есть ваш селектор. Зная его, вы сможете проверить публичную запись и убедиться, что подпись валидна.

Частые ошибки

DKIM и доставляемость

Подпись сама по себе не гарантирует «входящие», но её отсутствие почти гарантирует проблемы: письмо без DKIM выглядит для почтовика подозрительно и легко уходит в спам или в чёрные списки по репутации. DKIM — часть базовой гигиены отправителя вместе с SPF, DMARC и PTR-записью; полная картина — в статье почему письма попадают в спам. Для массовых рассылок без DKIM сегодня вообще нет смысла стартовать — см. массовую рассылку писем.

Коротко

DKIM подписывает письма приватным ключом на сервере, а публичный ключ вы публикуете в DNS TXT-записью с именем <селектор>._domainkey.<домен>. Чаще всего почтовый сервис генерирует ключи сам — вам остаётся добавить запись. Свой селектор смотрят в заголовке DKIM-Signature отправленного письма. После настройки проверьте, что запись найдена, и что рядом настроены SPF и DMARC — только втроём они дают отправителю полное доверие.

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

Что такое DKIM-запись?
Это TXT-запись в DNS домена, где хранится публичный ключ для проверки подписи писем. Её имя строится как «селектор._domainkey.домен», а значение начинается с «v=DKIM1; k=rsa; p=…». По ней получатель проверяет, что письмо подписано вашим сервером и не изменено.
Как настроить DKIM пошагово?
Проверьте, не генерирует ли ключи ваш почтовый сервис автоматически; получите публичный ключ и селектор; добавьте TXT-запись «селектор._domainkey» со значением ключа в DNS; убедитесь, что сервер подписывает письма; проверьте результат инструментом проверки почты.
Что такое селектор DKIM и как его узнать?
Селектор — короткая метка, которая позволяет держать несколько DKIM-ключей на одном домене. Узнать свой можно в заголовке отправленного письма: откройте оригинал письма и найдите в строке DKIM-Signature параметр s= — его значение и есть селектор.
Нужно ли настраивать DKIM, если письма и так доходят?
Да. Без DKIM доставляемость держится на честном слове, и первый же всплеск жалоб или смена репутации отправит письма в спам. С 2024 года крупные операторы фактически требуют DKIM для массовых отправок, а для транзакционных писем это базовая гигиена.
Достаточно ли одного DKIM для защиты почты?
Нет. DKIM подтверждает подлинность подписи, но полную защиту дают три записи вместе: SPF (кто вправе слать), DKIM (подпись) и DMARC (что делать с непрошедшими проверку). Настраивать нужно все три и следить, чтобы они не конфликтовали.
Как проверить, работает ли DKIM?
Введите домен и селектор в инструменте проверки почты на raskruty.ru — он покажет, найдена ли DKIM-запись. Дополнительно можно отправить письмо на свой ящик и в оригинале письма проверить, что заголовок DKIM-Signature присутствует и проверка dkim=pass.