Что такое DKIM и зачем он нужен
DKIM (DomainKeys Identified Mail) — это механизм цифровой подписи исходящих писем. Почтовый сервер отправителя подписывает каждое письмо приватным ключом, а принимающий сервер проверяет подпись через публичный ключ, опубликованный в DNS. Если подпись совпадает — письмо считается подлинным и с высокой вероятностью попадёт во «Входящие», а не в спам.
Без DKIM ваши письма лишены одного из ключевых сигналов доверия для Gmail, Outlook, Yahoo и других крупных почтовых провайдеров. Особенно критично это при массовых рассылках: без корректной DKIM-подписи репутация домена и IP деградирует значительно быстрее.
Как работает DKIM: механика за три шага
- Генерация пары ключей. На сервере создаётся приватный ключ (хранится на сервере) и публичный ключ (публикуется в DNS).
- Подпись письма. При отправке MTA (например, PowerMTA) автоматически добавляет в заголовок письма поле
DKIM-Signature, сформированное приватным ключом. - Проверка подписи. Принимающий сервер делает 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 и массовые рассылки: что важно знать
Если вы ведёте массовые рассылки, DKIM — это не опция, а обязательное требование. Gmail и Yahoo с февраля 2024 года обязывают отправителей больших объёмов иметь корректные DKIM и SPF-записи, иначе письма будут отклоняться или систематически попадать в спам.
При использовании нескольких доменов-отправителей каждому домену нужна собственная пара ключей и соответствующая DNS-запись. Это стандартная практика при работе с собственным SMTP-сервером для рассылок.
Для организации персонального сервиса рассылок со всеми необходимыми настройками аутентификации команда PlexMail предлагает профессиональные скрипты рассылки и комплексные решения на базе PowerMTA. Подробнее об установке и управлении PowerMTA — в статье Установка PowerMTA.
Ротация DKIM-ключей
Менять DKIM-ключи рекомендуется раз в 6–12 месяцев. Алгоритм безопасной ротации:
- Создайте новую пару ключей с новым селектором.
- Опубликуйте новую TXT-запись в DNS и дождитесь распространения (до 48 часов).
- Переключите сервер на подписание новым ключом.
- Оставьте старую DNS-запись ещё на 48–72 часа — для корректной проверки писем, отправленных до смены ключа.
- Удалите старую запись.
Итог
Настройка 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
