Проверка DKIM-записи домена
Укажите домен и селектор, и мы покажем опубликованный ключ, его тип и длину. Селектор неизвестен? Оставьте поле пустым, переберём два десятка самых распространённых.
Что такое DKIM и что именно проверяется
DKIM добавляет к письму криптографическую подпись. Закрытый ключ хранится на сервере отправителя, открытый публикуется в DNS. Получатель находит открытый ключ по имени селектора, проверяет подпись и понимает, что письмо действительно отправлено с вашего домена и не изменилось в пути.
Чекер проверяет то, что можно проверить снаружи, то есть опубликован ли ключ, читается ли он, какой у него тип и длина, не отозван ли он и не оставлен ли включённым тестовый режим. Саму подпись на конкретном письме проверить со стороны нельзя, для этого нужен текст письма.
Про селекторы
Запись DKIM лежит по адресу вида селектор._domainkey.example.com. Имя селектора выбирает сервис отправки, и единого списка не существует. DNS не позволяет спросить «какие селекторы есть у этого домена», можно только проверить конкретное имя.
Поэтому отрицательный результат перебора ничего не доказывает. Если вы видите «ни один из известных селекторов не найден», это значит ровно то, что написано. Среди проверенных имён записи нет. Точный ответ даст только ваш собственный селектор, возьмите его из тега s= в заголовке DKIM-Signature любого отправленного письма.
Селекторы популярных сервисов
- Google Workspace —
google - Microsoft 365 —
selector1иselector2 - Mailchimp, Klaviyo —
k1 - SendGrid, Zoho —
s1иs2 - Postmark —
pm - Яндекс 360 —
mail
Как выглядит запись
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...Тег v необязателен: при его отсутствии подразумевается DKIM1. k задаёт тип ключа, по умолчанию rsa. p — сам открытый ключ в base64. При копировании ключа из панели сервиса следите, чтобы он не разбился переносами строк, это самая частая причина того, что запись есть, а подпись не проходит.
Как найти селектор
Селектор не хранится в DNS списком, и узнать его можно только из самого письма. Откройте у себя в ящике любое письмо от проверяемого домена, посмотрите исходник и найдите заголовок DKIM-Signature: значение тега s= и есть селектор, d= — домен, на котором лежит ключ.
Если письма под рукой нет, чекер перебирает пару десятков имён, которые используют популярные сервисы: google, selector1 и selector2 у Microsoft, k1 у Mailchimp, mail, dkim, s1. Перебор находит ключ в большинстве случаев, но отсутствие результата не доказывает, что DKIM не настроен, ведь селектор может быть произвольным.
Что означает результат
- Ключ найден и корректен. Запись читается, длина достаточная. Это означает, что инфраструктура готова, но не гарантирует, что письма действительно подписываются. Это видно только по заголовкам реального письма.
- Пустой тег p=. Ключ отозван намеренно. Нормально для старого селектора после ротации и ошибка, если селектор действующий.
- Ключ 1024 бита. Работает, но считается слабым. Gmail с 2023 года относится к таким подписям с недоверием, стоит перевыпустить на 2048.
- Стоит t=y. Тестовый режим: получатель проверит подпись и проигнорирует результат. Если селектор давно в бою, тег нужно убрать.
- Запись не читается. Почти всегда значение разорвано переносами строк при копировании или в нём потерялись символы.
DKIM сам по себе домен не защищает
Подпись подтверждает, что письмо не изменилось в пути и отправлено тем, у кого есть приватный ключ. Но она ничего не говорит получателю о том, что делать с письмом без подписи или с подписью чужого домена. Решение об этом принимает DMARC.
Поэтому связка работает только целиком. DKIM подписывает, SPF перечисляет разрешённые серверы, DMARC задаёт политику и присылает отчёты. Настроенный DKIM без DMARC не мешает подделать письмо от вашего домена, ведь достаточно отправить его вообще без подписи.
Одного селектора обычно мало
Отправка почти всегда идёт из нескольких мест: корпоративная почта, сервис рассылок, CRM, биллинг, форма на сайте. Каждое из них подписывает своим ключом, и у каждого свой селектор. Проверка одного не говорит ничего об остальных.
Практичный способ собрать полный список состоит в том, чтобы взять отчёты DMARC. Там перечислены все источники, отправлявшие от вашего домена, с результатом по DKIM для каждого. То, что в отчёте показывает dkim=fail или отсутствие подписи, и есть места, где ключ либо не настроен, либо настроен неверно.
Что делать с чужим доменом
Проверка чужого DKIM полезна в двух ситуациях. Перед холодной рассылкой: домен с настроенной аутентификацией и строгим DMARC обычно принадлежит компании, которая следит за почтой, и требования к отправителю у неё соответствующие. При разборе подозрительного письма: если DKIM-Signature ссылается на домен, не имеющий отношения к видимому отправителю, это повод присмотреться внимательнее.
В письме невалидная DKIM-подпись: что проверять
Строка «невалидная DKIM-подпись» означает, что подпись в письме есть, но получатель не смог её подтвердить. Это отличается от отсутствия подписи и лечится по-другому.
Проверять стоит в таком порядке.
Опубликован ли ключ по тому селектору, который указан в письме. Селектор стоит в теге s= заголовка DKIM-Signature, и запись ищется по адресу селектор._domainkey.домен. Если ключ ротировали, а старую запись удалили слишком рано, письма в очереди останутся с подписью, которую уже нечем проверить.
Не разбит ли ключ переносами строк. Длинное значение часть DNS-панелей разбивает на части, и при склейке добавляются лишние пробелы. Внешне запись выглядит целой, а подпись не сходится. Это самая частая причина из всех.
Не менялось ли письмо в пути. DKIM подписывает заголовки и тело, поэтому любой промежуточный узел, дописавший строку в тему или футер, ломает подпись. Так делают почтовые шлюзы, антивирусы и списки рассылки.
Совпадает ли домен подписи с видимым отправителем. Тег d= показывает, чьим доменом подписано письмо. Подпись может быть валидной сама по себе и при этом не засчитываться DMARC, если домен в d= принадлежит сервису рассылок, а не вам.
Проверка выше показывает опубликованный ключ, его тип и длину, а также отозван ли он и не включён ли тестовый режим. Саму подпись на конкретном письме со стороны не проверить: для этого нужен текст письма.
Частые вопросы про DKIM
Что почитать дальше
Аутентификация в порядке, а письма не доходят?
Настроенные SPF и DKIM не спасают, если половина базы состоит из несуществующих адресов и спам-ловушек. uChecker чистит базу до отправки, первые 100 адресов бесплатно.
Проверить базу