С февраля 2024 года Gmail и Yahoo требуют DMARC для любой рассылки, отправляющей более 5000 писем в сутки. Microsoft ввёл похожие требования годом позже. Mail.ru, Яндекс и Rambler следуют той же тенденции. Если у вас нет DMARC-записи, ваша рассылка уже карантинируется или отвергается в самых крупных почтовых системах мира. Но исправляется это быстро: одна DNS-запись, две недели мониторинга и осторожное ужесточение политики.
Опубликуйте TXT-запись на _dmarc.yourdomain.com с текстом v=DMARC1; p=none; rua=mailto:reports@yourdomain.com. Читайте отчёты две недели, чините легитимные отправители, переходите на p=quarantine pct=25, поднимайте до pct=100, затем p=reject. Весь rollout: 6–8 недель.
Как DMARC связывает SPF и DKIM
DMARC не аутентифицирует почту самостоятельно. Она лежит поверх SPF и DKIM и добавляет два компонента: политику (что делать, если аутентификация не пройдена) и alignment (требование совпадения аутентифицированного домена с видимым адресом в заголовке From).
Чтобы письмо прошло DMARC, должно быть истинным хотя бы одно из условий:
- SPF прошла и домен Return-Path совпадает с доменом From, или
- DKIM прошла и домен в тэге
d=совпадает с доменом From.
Alignment — вот почему вы можете видеть spf=pass в заголовках и одновременно не пройти DMARC. Деталями этого занимается отдельное руководство. Главное сейчас: DMARC проверяет домен, который видит пользователь, а не технический конверт письма.
Синтаксис записи
Полная DMARC-запись выглядит так:
v=DMARC1; p=quarantine; pct=25;
rua=mailto:dmarc-agg@brand.com;
ruf=mailto:dmarc-fail@brand.com;
aspf=r; adkim=r; sp=quarantine;
fo=1По тэгам:
v=DMARC1— версия, всегда DMARC1.p=— политика для основного домена.none,quarantineилиreject.pct=— процент писем, к которым применяется политика. Нужен для постепенного rollout.rua=— адрес для кумулятивных отчётов (ежедневные XML-сводки).ruf=— адрес для детальных отчётов (по каждому отказу). Редко присылаются из-за приватности.aspf=— режим SPF alignment.r(relaxed, по умолчанию) илиs(strict).adkim=— режим DKIM alignment, те же опции.sp=— политика для поддоменов. По умолчанию совпадает сp=, если не указана.fo=— параметры отчётов об ошибках.fo=1генерирует отчёт, если любой механизм аутентификации не пройден.
План развёртывания
Никогда не прыгайте сразу на p=reject. Вы заблокируете собственные сервисные письма, уведомления от вендора или забытый сервис — и узнаете об этом только когда клиент пожалуется, что не получил восстановление пароля.
Следуйте фазам:
- Неделя 0 — наблюдение. Опубликуйте
p=noneсrua=. Все письма доставляются независимо от результата DMARC, отчёты поступают на почту. - Недели 1–2 — аудит. Читайте кумулятивные отчёты. Найдите каждого легитимного отправителя, который падает. Добавьте SPF, включите DKIM, настройте custom Return-Path где нужно.
- Неделя 3 — мягкое применение. Переходите на
p=quarantine; pct=25. Четверть неудачных писем теперь попадёт в спам. - Неделя 5 — полный карантин.
pct=100. Все неудачные письма идут в спам. Наблюдайте ещё неделю. - Неделя 7+ — отказ.
p=reject. Неудачные письма отвергаются на уровне SMTP, никогда не доставляются.
Настройка получения отчётов
Сырые DMARC-отчёты — это XML-файлы, присылаемые ежедневно от каждого крупного получателя. Читать их вручную — пытка. Каждый отчёт — структурированный XML, и вы будете получать 10–30 в день от Gmail, Yahoo, Outlook, Mail.ru и каждого мелкого провайдера.
Используйте сервис парсинга. Бесплатные варианты с приличным free-тиром:
- Postmark DMARC Monitoring — бесплатно, чистый интерфейс, еженедельные дайджест-письма.
- DMARCLY — щедрый free-тир для одиночных отправителей.
- dmarcian — платно, но индустриальный стандарт. Free trial хватит для начального аудита.
- EasyDMARC — свободные дашборды, приличный парсинг отчётов.
Укажите на выбранный сервис в rua=. Они дадут вам выделенный адрес почты для использования в тэге.
Чтение кумулятивных отчётов
Каждый отчёт содержит строки вроде:
source_ip: 209.85.220.41
count: 1247
disposition: none
spf: pass (aligned)
dkim: pass (aligned)
header_from: brand.comЭто Gmail отправляет 1247 писем от вас из авторизованной инфраструктуры Google Workspace — всё проходит и выравнено. Хорошо.
Что вы ищете — вот такие строки:
source_ip: 52.14.88.201
count: 892
disposition: none
spf: pass (not aligned)
dkim: none
header_from: brand.comSPF прошла (конверт аутентифицирован), но не выравнена с доменом From, и DKIM-подписи нет вообще. Этот IP — почти наверняка забытый ESP, отправляющий From: you@brand.com с Return-Path bounces.esp.com. Почините DKIM alignment на ESP или настройте custom Return-Path для выравнивания SPF.
После фазы аудита отчёты становятся инструментом мониторинга. Ищитеновые IP-адреса — это либо новый легитимный вендор, который вы забыли авторизовать, либо кто-то подделывает ваш домен.
Типичные ошибки
p=noneнавечно. Самая частая. Вы публикуетеp=noneдля галочки compliance и никогда не ужесточаете. Gmail начал давать меньше весаp=none— номинально аутентифицировано, но практически бесполезно для репутации.- Без
rua=. Без отчётов вы летите вслепую. Нет смысла публиковать DMARC, если вы не видите, что падает. - Резкий прыжок на
p=reject. Блокирует легитимную почту, диагностируется дни, стоит клиентов. - Strict alignment (
aspf=s) слишком рано. Требует точного совпадения доменов. Если вы используете поддомен для bounces, вы упадёте. Оставайтесь на relaxed, пока не унифицируете всех отправителей. - Забыли
sp=. Если политика поддоменов не указана, она наследуетp=. Это может быть не то, что нужно — вам может понадобитьсяsp=reject, даже если основнаяp=наquarantine.
Что DMARC не делает
DMARC часто переоценивают. Важно знать, что она не гарантирует:
- Не шифрует трафик. Это делает TLS.
- Не гарантирует попадание в инбокс. Прохождение DMARC — необходимое, но не достаточное условие. Репутация, контент и engagment ещё считаются.
- Защищает только домен в From. Атакующие могут использовать похожие домены (
brand-secure.comвместоbrand.com) — DMARC тут не поможет. Используйте сервисы мониторинга брендов. - Не покрывает письма, перенаправленные непрямыми путями. Mailing-листы, переписывающие From, ломают DMARC по дизайну.
Как тестировать
Быстрый тест: отправьте письмо, которое намеренно не пройдёт. Используйте инструмент вроде dmarcly's DMARC test или нашу собственную проверку размещения в инбоксе — она маршрутизирует письмо через невыравненные отправители и показывает, применяется ли ваша политика. Ищите disposition=quarantine или disposition=reject в итоговом отчёте.
- Недели 0–2:
v=DMARC1; p=none; rua=mailto:reports@yourdomain.com - Недели 3–4:
v=DMARC1; p=quarantine; pct=25; rua=... - Неделя 5+:
v=DMARC1; p=quarantine; pct=100; rua=... - Неделя 7+ (после стабилизации):
v=DMARC1; p=reject; rua=...
Бесплатный инструмент Inbox Placement Test показывает, в какую папку попадёт ваше письмо — Входящие, Спам или Промоакции — в 9 провайдерах: Gmail, Outlook, Yahoo, Mail.ru, Яндекс и других. Без регистрации.