Доставляемость и DNS

Селектор DKIM: настройка, проверка и смена ключей

Автор: Alexey Bulygin
Селектор DKIM и поиск открытого ключа в DNS

Обычно селектор DKIM замечают, когда письма не проходят аутентификацию, Gmail отправляет их в спам или поставщик просит добавить необычную TXT-запись вроде tm1._domainkey.example.com. Метка кажется мелочью, но неверный селектор может нарушить DKIM. Тогда DMARC тоже может не пройти, если нет успешного согласованного SPF. Это способно повлиять на доставку.

При нескольких отправителях на одном домене разобраться сложнее. Почтовый хостинг использует один ключ, маркетинговый сервис другой, CRM третий. Без понимания селектора трудно определить, кто отвечает за подпись, какую DNS-запись менять при ротации и почему один поток проходит проверку, а другой нет. Общую схему объясняет статья о корпоративной почте.

Рассматривайте селектор как метку поиска ключа DKIM. Когда понятно, как она связана с DNS, настройка и диагностика становятся последовательной работой, а не загадкой.

Что такое селектор DKIM?

Это метка в подписи DKIM, которая указывает получателю, какой открытый ключ получить из DNS. Благодаря ей домен может одновременно публиковать несколько ключей для разных систем, потоков или ротации.

Селектор не является ключом. Это указатель для поиска. В заголовке DKIM-Signature он записан в теге s=, а домен подписи в d=. Получатель объединяет их в запрос вроде selector._domainkey.example.com и получает открытый ключ из TXT.

RFC 6376 прямо определяет механизм: домен из d= и селектор из s= используются для поиска записи ключа. Отсутствующий или неверный селектор может помешать проверке этой подписи.

Для d=example.com и s=tm1 получатель запрашивает tm1._domainkey.example.com.

Для чего нужен селектор DKIM?

Селектор определяет открытый ключ для конкретного сообщения. Он позволяет разместить несколько ключей одного домена без конфликта имен.

Это дает три практических преимущества.

  1. Разделяет отправителей. Служба поддержки и приложение с транзакционной почтой могут использовать разные селекторы.
  2. Позволяет менять ключи. Новый селектор публикуется заранее, затем включается новая подпись, а старый удаляется после обработки ранее отправленной почты.
  3. Ограничивает последствия. Компрометация или отзыв ключа одного поставщика не обязательно требуют менять всех остальных отправителей.

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

ТерминЧто означаетПримерЗачем нужен
СелекторМетка поиска в подписи DKIMtm1Указывает запись для запроса
Домен подписиДомен в теге d=example.comОпределяет идентификатор домена DKIM
Имя DNSСелектор, ._domainkey и доменtm1._domainkey.example.comМесто публикации открытого ключа
Запись открытого ключаTXT, полученный из DNSv=DKIM1; p=...Позволяет проверить подпись

Где найти селектор DKIM?

В заголовках письма или DNS-инструкции отправляющего сервиса. В реальном письме это значение s= в DKIM-Signature.

Откройте исходные заголовки полученного сообщения и найдите DKIM-Signature:. Нужны два тега:

  • d= показывает домен подписи.
  • s= показывает селектор DKIM.
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=tm1;
 c=relaxed/relaxed; h=from:to:subject:date:message-id;
 bh=...; b=...

Здесь селектор tm1. Проверять нужно запись:

tm1._domainkey.example.com TXT

Для нового отправителя поставщик обычно предоставляет селектор и TXT либо цель CNAME. TrekMail описывает отображение необходимых записей и проверку состояния DNS в панели домена. Документация о необходимых DNS-записях и проверке состояния DNS поможет заполнить поля.

Как опубликовать селектор в DNS?

Создайте запись по имени selector._domainkey.yourdomain.com. Обычно это TXT с ключом DKIM, а у некоторых поставщиков CNAME на управляемый ключ.

Два распространенных варианта:

DKIM через TXT:

Host: tm1._domainkey
Type: TXT
Value: v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQ...

DKIM через CNAME:

Host: tm1._domainkey
Type: CNAME
Value: tm1.example-com.dkim.vendor.net.

Не придумывайте селектор вместо указанного поставщиком. Если он требует s1, публикуйте s1._domainkey. Если TrekMail показывает dkim._domainkey для фактически используемой отправки, скопируйте точные имя и значение. При внешнем отправителе в Nano полезна инструкция собственный SMTP (BYO), но определяющими остаются данные внешнего подписывающего сервиса.

Как проверить работу селектора DKIM?

Сначала убедитесь, что DNS-запись доступна, затем проверьте реальные письма: тот же селектор должен использоваться в подписи, а DKIM пройти проверку.

Запросите DNS напрямую:

dig +short TXT tm1._domainkey.example.com
nslookup -type=TXT tm1._domainkey.example.com

Пустой ответ может означать отсутствие записи, неверное имя, не обновившийся кэш или другую проблему DNS. Сам по себе он не дает однозначного диагноза.

Затем отправьте письмо и изучите заголовки:

Authentication-Results: mx.google.com;
 dkim=pass header.i=@example.com header.s=tm1 header.b=...
 spf=pass smtp.mailfrom=example.com;
 dmarc=pass header.from=example.com

Проверьте следующее:

  • dkim=pass
  • header.s=tm1 совпадает с опубликованным селектором
  • header.i не определяет согласование DKIM в DMARC; для этого d= должен быть согласован с From

При частой пересылке прочитайте о пересылке почты. SPF при ней может не пройти. Действительный согласованный DKIM способен сохранить успешный DMARC, если подписанные данные не изменены так, что проверка нарушается. Это не гарантия доставки.

Почему проверка с селектором не проходит?

Обычно причины в неверном имени DNS, поврежденном ключе, другом активном селекторе или изменении письма релеем после подписи.

Частые ошибки в рабочей системе:

  1. Неверный хост: опубликован _domainkey.tm1 вместо tm1._domainkey.
  2. Неверный домен: подпись использует d=mg.example.com, а запись опубликована под example.com.
  3. Неверная зона DNS: запись есть на неавторитетных серверах, но отсутствует на авторитетных.
  4. Обрезанный ключ: панель DNS сократила TXT при вставке.
  5. Используется старый селектор: после ротации отправитель продолжает подписывать прежним ключом.
  6. Изменение после подписи: пересылка или шлюз меняют защищенные заголовки либо тело.

Документация Google для отправителей предупреждает о возможном ограничении скорости или блокировке при несоблюдении требований аутентификации. Google также отмечает проблемы SPF при пересылке. Поэтому правильный селектор важен, но является лишь частью полноценной проверки подписи.

Как выбрать имя селектора DKIM?

Имя должно быть простым, понятным и связанным с задачей. Хорошие имена ускоряют диагностику, показывая ответственного за ключ без поиска по нескольким панелям.

default, key1 и test работают, но со временем дают мало контекста. Более понятные шаблоны:

  • tm1 для управляемой отправки TrekMail
  • ses2026q1 для ротации Amazon SES
  • crm1 для CRM
  • mktg2026a для маркетинговой почты

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

Как менять селектор с меньшим риском?

Опубликуйте новый ключ под новым селектором, переключите подпись и дождитесь, пока старые сообщения больше не будут зависеть от прежнего ключа. Только затем удаляйте старую запись.

Не перезаписывайте активный ключ без прямого требования поставщика. Более осторожный порядок:

  1. Создайте новый селектор, например смените tm1 на tm2.
  2. Опубликуйте новую запись DNS.
  3. Дождитесь обновления DNS и проверьте его.
  4. Переключите отправителя на новый селектор.
  5. Отправьте тест и подтвердите dkim=pass с новой меткой.
  6. Сохраните старую запись на подходящий переходный период.
  7. Удалите ее, когда никто больше ею не подписывает и ранее отправленным письмам не требуется старый ключ.

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

Как TrekMail работает с селектором?

TrekMail описывает отображение DNS-записей, проверку их состояния, управляемую отправку в платных тарифах и BYO SMTP в Nano. Это может упростить проверку имени селектора и DNS. Актуальные возможности тарифа следует уточнить.

Для хранения и управления почтой описаны единая панель доменов, общее хранилище, создание через приглашения, пересылка и встроенная IMAP-миграция. Модель отправки выбирается отдельно:

  • Платные тарифы могут использовать управляемый SMTP TrekMail, который, согласно описанию, подписывает почту ключом вашего домена.
  • Nano использует BYO SMTP, поэтому активным селектором и подписью управляет внешний отправляющий сервис.

Для внешней отправки селектор обычно берут из DNS-инструкции этого поставщика. Для управляемого SMTP TrekMail используют показанную для него запись. Starter описан от $3.50 в месяц, платные планы с 14-дневным тестом и обязательной картой, Nano как бесплатный тариф без пробного периода. Уточните текущие условия и модель фиксированной оплаты без платы за пользователя на странице тарифов TrekMail.

Список проверки при проблемах с селектором

Действуйте последовательно: найдите селектор в заголовке, проверьте запись по точному имени, подтвердите настройку отправителя и выясните, не меняется ли подписанный текст в пути.

  1. Изучите реальное письмо и запишите s= и d=.
  2. Запросите selector._domainkey.domain непосредственно в DNS.
  3. Проверьте авторитетные серверы, а не только интерфейс регистратора.
  4. Уточните требуемый тип: TXT или CNAME.
  5. Сравните From с доменом подписи для согласования DMARC.
  6. Повторите проверку после пересылки, шлюзов или программы рассылок, если письмо изменяется.

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

Итог: что нужно помнить о селекторе DKIM?

Селектор указывает получателю, какой открытый ключ DKIM получить из DNS. Понимание этой связи делает диагностику заметно проще.

Правильный селектор по правильному имени и соответствующая подпись необходимы, но не гарантируют успешный DKIM или доставку. Сначала проверяйте заголовки, потом DNS и затем изменения по пути. Разделяйте селекторы по отправителям, меняйте ключи под новыми именами вместо рискованной перезаписи. TrekMail описывает для многодоменной почты хостинг, DNS-проверки, миграцию и фиксированные цены без платы за каждого пользователя; актуальные условия уточняйте.

Поделиться статьёй

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

Вход в TrekMail

Доступ к панели, ящикам и DNS.

или

12 символов пароли совпадают

или

Письмо отправлено

Если для этого адреса есть аккаунт, мы отправили инструкции по сбросу пароля.

Продолжая, вы принимаете Условия и Политику конфиденциальности TrekMail.