Что такое DKIM?

DKIM (DomainKeys Identified Mail) добавляет к исходящим письмам криптографическую подпись. Получатели проверяют её открытым ключом из DNS отправителя: письмо авторизовано доменом и не изменено в пути.

Отправляющий сервер подписывает выбранные заголовки и тело письма закрытым ключом и добавляет заголовок DKIM-Signature. В заголовке указаны подписывающий домен (d=) и селектор (s=). Получатель берёт открытый ключ из TXT-записи по имени selector._domainkey.domain и проверяет подпись.

Селекторы позволяют иметь несколько ключей одновременно: по одному на каждый отправляющий сервис или старый и новый ключ на время ротации. Это же означает, что DKIM нельзя обнаружить по одному только имени домена. Инструмент может проверить DKIM-запись, только если знает селектор, а он находится в заголовке DKIM-Signature реального письма.

В отличие от SPF, подпись DKIM обычно переживает пересылку, потому что путешествует вместе с письмом. Она ломается, когда посредник, как правило список рассылки, меняет тему или тело. Разумный выбор сегодня — ключи длиной 2048 бит. Сам по себе DKIM не говорит получателям, что делать с неподписанной почтой; эту политику задаёт DMARC.

Пример

sel1._domainkey.example.com.  3600  IN  TXT  "v=DKIM1; k=rsa; p=<public key>"

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

Проверьте сами

DKIM: посмотрите на примере реального домена.

Проверка MX