SPF, DKIM и DMARC — три механизма аутентификации почты, которые подтверждают, что письма от вашего домена легитимны. Для рассылок настройте SPF (кто может отправлять), включите DKIM-подпись (целостность письма) и задайте политику DMARC (как обрабатывать несоответствия). Затем проверьте записи и мониторьте отчеты.
Зачем аутентификация писем для рассылок
Цель аутентификации — защита домена от спуфинга, рост доверия провайдеров (Gmail, Outlook, Yahoo) и предсказуемая доставляемость. Без SPF/DKIM/DMARC письма чаще попадают в спам, а домен рискует репутацией. С 2024 крупные почтовики ужесточили требования: массовые отправители обязаны иметь корректные SPF, DKIM и DMARC.
- SPF — разрешает IP/хосты, которые могут слать от домена.
- DKIM — криптографическая подпись заголовков/тела письма.
- DMARC — политика обработки писем, если SPF/DKIM не сходятся и не выровнены с доменом отправителя.
| Механизм | Где настраивается | Что защищает | Ограничения |
|---|---|---|---|
| SPF | TXT в DNS корня домена | Право на отправку с указанных серверов | Пересылка ломает SPF; 10 DNS-lookup лимит |
| DKIM | Пара ключей: приватный у отправителя, публичный TXT в DNS по селектору | Целостность и подлинность контента письма | Нужна корректная подпись на стороне отправителя |
| DMARC | TXT _dmarc.домен | Правила для провайдеров, отчеты о несоответствиях | Требует работоспособных SPF/DKIM и выравнивания |
Запись SPF: суть и настройка
Как работает SPF для рассылок
При приеме письма провайдер сравнивает IP отправителя с разрешенными источниками в TXT-записи SPF домена из поля MAIL FROM (envelope-from). Если IP не указан — SPF fail.
Как составить запись SPF для рассылок
- Базовый формат: v=spf1 [механизмы] [квалификатор по умолчанию].
- Включайте только реально используемые источники: include:провайдер, ip4:адрес, a, mx.
- Завершайте строгим -all (для защиты) или ~all (мягкий этап тестирования).
Примеры:
- Один провайдер рассылок: v=spf1 include:spf.sendgrid.net -all
- Провайдер + свой сервер: v=spf1 ip4:203.0.113.10 include:_spf.google.com -all
Типичные ошибки SPF при рассылках
- Более одной SPF-записи. Должна быть одна TXT с v=spf1; объединяйте механизмы.
- Превышение лимита 10 DNS-запросов (include, mx, a, redirect). Оптимизируйте или используйте альтернативы провайдера с «плоскими» include.
- ~all «навсегда». Для защиты домена переходите к -all после проверки.
- Отсутствие MAIL FROM с вашим доменом у провайдера — SPF не засчитывается для DMARC.
Подпись DKIM: генерация и публикация
Что такое DKIM и выравнивание
Отправитель подписывает письмо приватным ключом; получатель проверяет подпись по публичному ключу в DNS. Для DMARC важно выравнивание: домен в d= (DKIM) должен совпадать или быть поддоменом домена в From: (strict s или relaxed r режимы, задаются в DMARC).
Настройка DKIM на практике
- Сгенерируйте ключи у вашего ESP/SMTP (обычно 1024/2048 бит; предпочтительно 2048).
- Опубликуйте публичный ключ TXT по имени: селектор._domainkey.домен (например, s1._domainkey.example.com).
- Включите подпись на стороне отправителя и убедитесь, что в заголовках появляется DKIM-Signature с нужным селектором и d=example.com.
Пример TXT для DKIM (сокращено):
- s1._domainkey.example.com TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqh...IDAQAB"
Выбор селектора и ротация ключей DKIM для рассылок
- Используйте именованные селекторы по системе: s1, s2, esp2026 — удобно для ротации.
- Держите одновременно два селектора при плановой замене ключа: включите новый, дождитесь распространения DNS, отключите старый.
Распространенные проблемы DKIM
- Слишком короткий ключ (1024 для некоторых доменов уже нежелателен) — переходите на 2048.
- Обрыв строки или лишние пробелы в p= — проверяйте формат TXT.
- Подпись от домена провайдера (d=mail.esp.com), а не вашего — для DMARC лучше d=вашдомен.
Политика DMARC: от мониторинга к защите
Как работает DMARC
DMARC проверяет: прошло ли письмо SPF или DKIM и выровнен ли домен прошедшего механизма с доменом в From:. Если оба не прошли/не выровнены — применяется политика p= (none|quarantine|reject) и формируются отчеты.
Базовая запись DMARC
Создайте TXT _dmarc.example.com со значением:
- v=DMARC1; p=none; rua=mailto:dmarc@example.com; fo=1
Пояснения:
- p — политика: none (только мониторинг), quarantine (в спам), reject (отклонять).
- rua — агрегированные отчеты (XML). Укажите почту или адрес провайдера отчетов.
- ruf — форензик-отчеты (опционально; не все провайдеры шлют).
- fo — условия детальных отчетов: 1 — при любом фейле проверки.
- pct — доля сообщений, к которым применяется политика (для поэтапного включения).
- aspf/adkim — режим выравнивания: r (relaxed) по умолчанию, s (strict) — жестче.
- sp — политика для поддоменов (если отличается от p).
Переход к защищающей политике DMARC для рассылок
- Этап 1: p=none, собирайте отчеты 1–2 недели, исправьте источники без аутентификации.
- Этап 2: p=quarantine; pct=25→50→100, следите за жалобами/отчетами.
- Этап 3: p=reject; оставьте адекватный мониторинг rua и периодическую проверку.
Учет пересылки и списков в рассылках
Пересылка часто ломает SPF, но DKIM обычно выживает. Поэтому делайте акцент на корректной DKIM-подписи от вашего домена и relaxed-выравнивании на старте.
Проверка и мониторинг SPF, DKIM и DMARC для рассылок
Шаги быстрой проверки SPF/DKIM/DMARC для рассылок
- DNS: проверьте TXT-записи в публичных инструментах (dig/nslookup; специализированные чекеры).
- Тест-письмо: отправьте на Gmail/Outlook/Yahoo и смотрите заголовки Authentication-Results (spf, dkim, dmarc=pass/fail, alignment).
- Отчеты DMARC: убедитесь, что приходят на rua; анализируйте домены/источники, которые не проходят.
Что считать «корректной» настройкой
- SPF: одна запись, укладывается в 10 DNS-lookup, результат pass для всех легитимных потоков, -all после валидации.
- DKIM: ключ 2048, подпись от вашего домена (d=вашдомен), стабильный pass по всем письмам.
- DMARC: p=quarantine или reject (после этапа none), выравнивание хотя бы по DKIM.
Диагностика типовых сбоев SPF, DKIM и DMARC в рассылках
- SPF=neutral/softfail: проверьте include и MAIL FROM; укажите реальный поток отправки у ESP.
- DKIM=fail: ключ неверно опубликован, подпись урезана по длине, модификация письма шлюзом.
- DMARC=fail при DKIM=pass: проверьте выравнивание (d= не совпадает с From:).
Практические подсказки для рассылок
- Отправляйте с поддомена для маркетинговых писем (например, news.example.com) и настройте отдельные SPF/DKIM/DMARC.
- Убедитесь, что ваш ESP поддерживает собственный DKIM от вашего домена, а не общий.
- Держите единый список источников отправки; при добавлении — обновляйте SPF и ключи DKIM заранее.
Краткий план внедрения SPF, DKIM и DMARC для рассылок
- Инвентаризация: домены и поддомены отправки, ESP/SMTP, собственные сервера.
- SPF: собрать все источники, свернуть в одну запись с -all; проверить лимиты include.
- DKIM: сгенерировать 2048-битные ключи, опубликовать по селекторам, включить подпись.
- DMARC: начать с p=none; подключить rua; проанализировать 1–2 недели.
- Ужесточение: перейти на p=quarantine, затем p=reject с pct поэтапно.
- Мониторинг: регулярный разбор отчетов, ротация DKIM-ключей раз в 6–12 месяцев.