Как создать DKIM запись для почтового сервера

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

DKIM (DomainKeys Identified Mail) — это механизм цифровой подписи исходящих писем. Почтовый сервер отправителя подписывает каждое письмо приватным ключом, а принимающий сервер проверяет подпись через публичный ключ, опубликованный в DNS. Если подпись совпадает — письмо считается подлинным и с высокой вероятностью попадёт во «Входящие», а не в спам.

Без DKIM ваши письма лишены одного из ключевых сигналов доверия для Gmail, Outlook, Yahoo и других крупных почтовых провайдеров. Особенно критично это при массовых рассылках: без корректной DKIM-подписи репутация домена и IP деградирует значительно быстрее.

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

Как работает DKIM: механика за три шага

  1. Генерация пары ключей. На сервере создаётся приватный ключ (хранится на сервере) и публичный ключ (публикуется в DNS).
  2. Подпись письма. При отправке MTA (например, PowerMTA) автоматически добавляет в заголовок письма поле DKIM-Signature, сформированное приватным ключом.
  3. Проверка подписи. Принимающий сервер делает DNS-запрос к записи вида selector._domainkey.yourdomain.com, получает публичный ключ и верифицирует подпись.

Шаг 1. Генерация пары DKIM-ключей

Для генерации ключей на Linux-сервере используется утилита opendkim-genkey из пакета opendkim-tools. Установите её и выполните команду:

opendkim-genkey -t -s mail -d yourdomain.com

Флаг -s задаёт имя селектора (например, mail), флаг -d — ваш домен. Команда создаст два файла:

  • mail.private — приватный ключ (хранить строго на сервере, никому не передавать);
  • mail.txt — публичный ключ в формате DNS TXT-записи.

Если вы используете PowerMTA, генерацию ключей можно выполнить аналогичным образом и затем указать путь к приватному ключу непосредственно в конфигурации PMTA.

Практический совет: Называйте селектор осмысленно — например, по году и месяцу: 2025jan. Это упростит ротацию ключей в будущем: вы просто создадите новую запись с новым селектором, не удаляя старую сразу.

Шаг 2. Публикация публичного ключа в DNS

Откройте файл mail.txt — он будет выглядеть примерно так:

mail._domainkey IN TXT ( "v=DKIM1; k=rsa; "
  "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQ..." )

В панели управления DNS вашего домена (Cloudflare, cPanel, ISPmanager и т.д.) создайте TXT-запись:

  • Имя (Host): mail._domainkey (или mail._domainkey.yourdomain.com — зависит от интерфейса панели);
  • Тип: TXT;
  • Значение: содержимое поля p=... — весь публичный ключ целиком, без переносов строк и лишних кавычек;
  • TTL: 3600 (или минимально доступный).
Частая ошибка: Копирование ключа с переносами строк или лишними пробелами — запись создаётся, но валидация завершается с ошибкой. Всегда склеивайте содержимое p= в одну строку перед вставкой в DNS-панель.

Шаг 3. Настройка подписи на почтовом сервере

После публикации ключа нужно указать серверу, каким ключом подписывать исходящую почту.

Настройка OpenDKIM (Postfix / Exim)

Установите opendkim, пропишите в /etc/opendkim.conf:

Domain          yourdomain.com
KeyFile         /etc/opendkim/keys/mail.private
Selector        mail
Socket          inet:8891@localhost

В конфиге Postfix добавьте интеграцию с milter:

milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

Перезапустите оба сервиса — opendkim и postfix.

Настройка DKIM в PowerMTA

В конфигурационном файле PowerMTA укажите параметры подписи внутри блока <domain>:

<domain yourdomain.com>
  dkim-sign yes
  dkim-selector mail
  dkim-private-key /etc/pmta/keys/mail.private
</domain>

После изменения конфига выполните перезагрузку конфигурации PMTA командой pmta reload. Подробнее о настройке PowerMTA читайте в нашей статье Конфигурация PMTA.

Шаг 4. Проверка DKIM-подписи

Отправьте тестовое письмо на адрес check-auth@verifier.port25.com — в ответном письме вы получите детальный отчёт по SPF, DKIM и DMARC. Также можно использовать сервис MXToolbox или инструмент Google Postmaster Tools.

В заголовке полученного письма должна присутствовать строка вида:

DKIM-Signature: v=1; a=rsa-sha256; d=yourdomain.com; s=mail; ...

А в результатах проверки — статус dkim=pass.

Практика нашей команды: После подключения DKIM мы рекомендуем также настроить SPF и DMARC — вместе они формируют полноценную защиту домена. В нашем курсе НР 2026 PRO эта тема разобрана в связке с практической настройкой всего стека: PowerMTA, MailerQ, Interspire и Protosender.

DKIM и массовые рассылки: что важно знать

Если вы ведёте массовые рассылки, DKIM — это не опция, а обязательное требование. Gmail и Yahoo с февраля 2024 года обязывают отправителей больших объёмов иметь корректные DKIM и SPF-записи, иначе письма будут отклоняться или систематически попадать в спам.

При использовании нескольких доменов-отправителей каждому домену нужна собственная пара ключей и соответствующая DNS-запись. Это стандартная практика при работе с собственным SMTP-сервером для рассылок.

Для организации персонального сервиса рассылок со всеми необходимыми настройками аутентификации команда PlexMail предлагает профессиональные скрипты рассылки и комплексные решения на базе PowerMTA. Подробнее об установке и управлении PowerMTA — в статье Установка PowerMTA.

Ротация DKIM-ключей

Менять DKIM-ключи рекомендуется раз в 6–12 месяцев. Алгоритм безопасной ротации:

  1. Создайте новую пару ключей с новым селектором.
  2. Опубликуйте новую TXT-запись в DNS и дождитесь распространения (до 48 часов).
  3. Переключите сервер на подписание новым ключом.
  4. Оставьте старую DNS-запись ещё на 48–72 часа — для корректной проверки писем, отправленных до смены ключа.
  5. Удалите старую запись.

Итог

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

Часто задаваемые вопросы

Что такое DKIM запись и для чего она нужна?

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

Где создать DKIM запись для домена?

DKIM-запись создаётся в панели управления DNS вашего домена — в Cloudflare, cPanel, ISPmanager или у вашего регистратора. Нужно добавить TXT-запись вида mail._domainkey.yourdomain.com со значением публичного ключа, сгенерированного на сервере.

Как проверить, что DKIM запись работает правильно?

Отправьте тестовое письмо на адрес check-auth@verifier.port25.com — получите автоматический отчёт. Также можно воспользоваться сервисами MXToolbox или Google Postmaster Tools. В заголовке полученного письма должен быть статус dkim=pass.

Нужен ли DKIM при массовых рассылках?

Да, DKIM обязателен. С февраля 2024 года Gmail и Yahoo требуют наличия корректных DKIM и SPF для отправителей больших объёмов. Без DKIM письма будут систематически отклоняться или попадать в спам.

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

Рекомендуется ротировать DKIM-ключи раз в 6–12 месяцев. Для безопасной смены сначала опубликуйте новую запись с новым селектором, затем переключите сервер, и только через 48–72 часа удалите старую запись.

Запустить собственный сервис рассылок с Protosender PRO — от $250

Узнать больше →