SPF, DKIM и DMARC простыми словами: почему письма попадают в спам и как это исправить.
Письмо от director@вашакомпания.az может написать кто угодно. В базовом почтовом протоколе нет ничего, что мешает постороннему поставить ваш адрес в строку «От». Поэтому крупные почтовые сервисы — Gmail, Outlook, Yahoo и корпоративные фильтры за ними — сверяют каждое входящее письмо с тремя записями в DNS отправителя: SPF, DKIM и DMARC. Домен без них выглядит в точности как домен, от имени которого пишет мошенник, и его письма уходят в спам или отклоняются.
В этом руководстве простыми словами: что делает каждая запись, какие из них нужны, как включить их без потери нормальных писем и как проверить результат.
Коротко
- SPF — список серверов, которым разрешено отправлять почту от вашего домена.
- DKIM — криптографическая подпись каждого письма; проверяется открытым ключом в вашем DNS.
- DMARC — ваша инструкция получателям: что делать, если письмо не прошло SPF и DKIM, и куда присылать отчёты.
Все три — TXT-записи в DNS домена. Вы публикуете их один раз, а принимающие серверы читают их при каждом письме.
SPF: кто может отправлять от вашего имени
SPF (Sender Policy Framework) — одна TXT-запись в корне домена. Она начинается с v=spf1 и перечисляет доверенных отправителей:
v=spf1 +a +mx +ip4:203.0.113.10 include:_spf.example.net ~allКак её читать:
+aи+mx— могут отправлять серверы из A- и MX-записей вашего домена.ip4:— может отправлять конкретный IP-адрес.include:— могут отправлять отправители из SPF другого домена (так добавляется почтовый сервис или сервис рассылок).~allв конце — все остальные подозрительны (мягкий отказ).-allозначает «остальных отклонять».
Три правила, которые предотвращают большинство проблем с SPF:
- Одна SPF-запись на домен. Две записи
v=spf1ломают проверку для каждого письма. Если второму сервису нужно отправлять от вашего имени, добавьте егоinclude:в существующую запись. - Не больше 10 DNS-запросов. Каждый
include:,aиmx— это запрос. Если их слишком много, запись ломается с ошибкой «permerror». Уберите сервисы, которыми больше не пользуетесь. - SPF проверяет конверт, а не видимое поле «От». Поэтому одного SPF мало — DMARC связывает его с адресом, который видят люди.
DKIM: подпись на каждом письме
DKIM (DomainKeys Identified Mail) подписывает каждое исходящее письмо закрытым ключом, который хранится на почтовом сервере. Парный открытый ключ публикуется в DNS под селектором:
selector._domainkey.вашакомпания.az TXT "v=DKIM1; k=rsa; p=MIIBIjANBg..."Принимающий сервер берёт селектор из подписи письма, получает открытый ключ из DNS и проверяет, что письмо не изменили по дороге и что его подписал сервер, у которого есть ваш закрытый ключ.
Что важно на практике:
- Ключ вы никогда не создаёте сами. Почтовый сервис генерирует его и даёт точную запись для публикации. Копируйте её как есть — значение длинное, и один потерянный символ её ломает.
- У каждого отправляющего сервиса свой DKIM. Ваши ящики, сервис рассылок и CRM подписывают каждый своим ключом под своим селектором. Они друг другу не мешают.
- Пересланное письмо сохраняет подпись DKIM, если его никто не менял. Поэтому именно DKIM переживает пересылку, когда SPF уже не проходит.
DMARC: ваша политика и ваши отчёты
DMARC (Domain-based Message Authentication, Reporting and Conformance) — TXT-запись по адресу _dmarc.вашдомен:
_dmarc.вашакомпания.az TXT "v=DMARC1; p=none; rua=mailto:dmarc@вашакомпания.az"У неё две задачи:
- Выравнивание. Письмо проходит DMARC, только если SPF или DKIM прошли для того же домена, который люди видят в строке «От». Именно это не даёт отправлять письма от
director@вашакомпания.azсо своего сервера. - Политика и отчёты.
p=говорит получателям, что делать с непрошедшими письмами:none(доставить, только сообщить),quarantine(в спам) илиreject(отклонить).rua=— адрес, куда получатели присылают ежедневные сводные отчёты.
Как включить DMARC и не потерять письма
Большинство компаний отправляют почту из большего числа мест, чем помнят: форма на сайте, бухгалтерская программа, сервис рассылок, старая CRM. Строгая политика с первого дня может молча заблокировать эти письма. Действуйте поэтапно:
p=noneпримерно на две недели. Собирайте отчёты и смотрите, какие серверы отправляют почту от вашего имени.- Добавьте найденных законных отправителей в SPF (или настройте их DKIM).
p=quarantineещё на две недели — непрошедшие письма попадают в спам, ошибки видны, но поправимы.p=reject, когда отчёты чистые.
Какие записи нужны вашему домену?
| Запись | Обязательна? | Откуда берётся |
|---|---|---|
| MX | Да, чтобы получать почту | Ваш почтовый сервис |
| SPF | Да | Ваш почтовый сервис плюс include: для других отправителей |
| DKIM | Да | Ваш почтовый сервис (и каждый другой отправляющий сервис) |
| DMARC | Настоятельно рекомендуется | Пишете сами, начиная с p=none |
Крупные почтовые сервисы в последние годы ужесточили правила для отправителей: письма с доменов без SPF, DKIM и DMARC всё чаще фильтруются или отклоняются, особенно когда компания отправляет много. Для деловой почты все три записи уже не опция.
Настройка в Rivervo
Корпоративная почта
Составлять значения самостоятельно не нужно. Откройте Почта → ваш домен в панели. На странице перечислены точные записи MX, SPF и DKIM (обязательные) и DMARC (рекомендуемая), каждая помечена Найдена или Пока не найдена. Скопируйте их туда, где находится DNS домена:
- домен на неймсерверах Rivervo и сайт в Rivervo → Сайты → ваш сайт → DNS-зона;
- домен зарегистрирован в Rivervo, но с другим DNS → Домены → ваш домен → DNS-записи;
- в другом месте → у регистратора или DNS-провайдера (в Cloudflare: DNS only).
Затем нажмите Я добавил записи — проверить. Панель сама перепроверяет каждые 5 минут. Пошаговая настройка ящиков — в нашем руководстве по корпоративной почте.
Почта на хостинге сайта
Для ящиков, которые входят в тариф хостинга: Сайты → ваш сайт → Почтовые ящики → Доставка показывает почтовые записи каждого домена — SPF, DKIM и MX — и отмечает, что нужно исправить. Если домен на неймсерверах Rivervo, кнопка Исправить создаёт недостающие записи за вас. DMARC вы добавляете сами в DNS-зоне как TXT-запись с именем _dmarc.
Подробнее, с командами проверки, — в статье справки SPF, DKIM, DMARC.
Как проверить результат
- Из терминала:
dig +short TXT вашакомпания.az | grep spf
dig +short TXT _dmarc.вашакомпания.az- Тестовым письмом. Отправьте письмо в сервис проверки почты, который даёт временный адрес и отчёт. Он покажет, прошли ли SPF, DKIM и DMARC, а если нет — почему.
- В самом полученном письме. В Gmail откройте отправленное вами письмо → Показать оригинал: в заголовке видно
SPF: PASS,DKIM: PASSиDMARC: PASS.
Частые ошибки и что они значат
«SPF permerror». Две SPF-записи или больше 10 запросов. Объедините в одну и уберите неиспользуемые сервисы.
«DKIM fail» или «body hash did not verify». Открытый ключ в DNS не совпадает с ключом, которым подписывает сервер, — обычно вставлено не всё значение или остался старый ключ после смены провайдера. Скопируйте запись из панели заново.
SPF проходит, но «DMARC fail». SPF прошёл для другого домена, а не для того, что в строке «От» (типично для сервиса рассылок, который отправляет со своего домена). Настройте DKIM этого сервиса для вашего домена.
«Письма всё равно в спаме». Аутентификация необходима, но недостаточна. Важны и содержание письма, и сколько получателей его открывают, и то, как вы отправляете. Массовые рассылки — через отдельный сервис, а не с личных ящиков.
Чек-лист: всё ли настроено
- Ровно одна SPF-запись на корне домена, в ней перечислены все сервисы, которые отправляют почту от вашего имени.
- DKIM-ключ опубликован под тем селектором, который указал ваш почтовый сервис, и проверка показывает его как найденный.
- DMARC начинается с отчётов. Первые недели — политика, которая только присылает отчёты; ужесточайте её, когда в отчётах остались только ваши сервисы.
- Заголовки письма это подтверждают. В заголовках входящего письма у получателя SPF, DKIM и DMARC отмечены как pass.
- Новые сервисы добавляются сразу. Подключили рассылку или CRM — допишите её в ту же SPF-запись и настройте для неё DKIM до первой отправки.
Частые вопросы
Можно ли настроить SPF, DKIM и DMARC, если домен зарегистрирован в другом месте? Да. Записи находятся в DNS домена, где бы он ни управлялся. Регистратор значения не имеет.
Нужен ли DMARC, если я только получаю почту? Да. Без DMARC кто угодно может отправлять письма от вашего имени, и у фильтров ваших клиентов нет инструкции их останавливать.
Заблокирует ли p=reject мои собственные письма?
Только письма, которые не прошли ни SPF, ни DKIM для вашего домена. Поэтому начинают с p=none и сначала читают отчёты.
Сколько ждать изменений? Обычно минуты на быстром DNS и до нескольких часов, если старые значения закэшированы. См. почему DNS обновляется не сразу.
Нужно ли повторять это при добавлении ящика? Нет. Записи настраиваются для домена, а не для ящика. Один раз для каждого домена.