Почему важны SPF, DKIM и DMARC
Электронная почта создавалась без проверки отправителя, поэтому кто угодно может указать ваш домен в строке «От». Исправляют это три стандарта на основе DNS. С февраля 2024 года Google и Yahoo требуют их от массовых отправителей, и отсутствие записей сегодня — частая причина того, что добросовестные письма попадают в спам.
- SPF перечисляет серверы, которым разрешено отправлять почту от имени вашего домена, в TXT-записи, начинающейся с
v=spf1. - DKIM добавляет к каждому сообщению криптографическую подпись; получатели проверяют её с помощью открытого ключа, опубликованного по адресу
selector._domainkey.yourdomain. - DMARC (по адресу
_dmarc.yourdomain) сообщает получателям, что делать, когда SPF и DKIM не согласуются с доменом в поле From (none,quarantineилиreject), и куда отправлять отчёты.
Что проверяет этот инструмент
- Запись SPF существует и она единственная, заканчивается на
~allили-all(никогда+all), а общее число DNS-запросов, включая вложенные механизмыinclude:, укладывается в предел RFC 7208 — 10. - Ключи DKIM для указанного вами селектора или для десятка распространённых селекторов, которые используют Google Workspace, Microsoft 365 и популярные сервисы рассылки.
- Запись DMARC существует, имеет корректную политику, применяется к 100% почты и отправляет сводные отчёты, чтобы вы видели, кто отправляет почту от вашего имени.
Примеры записей
example.com. TXT "v=spf1 include:_spf.example.net ip4:192.0.2.0/24 -all"
_dmarc.example.com. TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com; adkim=s"
s1._domainkey.example.com. TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqh…"
Рекомендуемый порядок внедрения
- Опубликуйте запись SPF, охватывающую все сервисы, которые отправляют почту от вашего имени, с окончанием
~all. - Включите подписывание DKIM у каждого провайдера.
- Опубликуйте DMARC с
p=noneи адресомruaи изучайте отчёты в течение двух–четырёх недель. - Когда вся добросовестная почта проходит проверку, перейдите на
p=quarantine, затем наp=reject.
Полное руководство: SPF, DKIM и DMARC: объяснение.
Часто задаваемые вопросы
Что использовать: ~all или -all?
При наличии DMARC подойдёт любой вариант; исход определяет DMARC. ~all — более безопасная отправная точка; -all строже, когда вы уверены, что все отправители перечислены.
Что означает «слишком много DNS-запросов»?
Каждый include, a, mx, exists и redirect расходует один запрос, включая те, что внутри подключённых записей. Если их больше 10, проверка SPF не проходит ни у одного получателя. Удалите неиспользуемые сервисы или замените include диапазонами ip4/ip6.
Нужны ли эти записи припаркованным доменам?
Да. Защищайте домены, которые никогда не отправляют почту, с помощью v=spf1 -all и v=DMARC1; p=reject.
Обновлено