Что такое MX, SPF, DKIM, DMARC
MX — запись, которая говорит, какой сервер принимает почту для домена. Без неё на ящики @example.ru нельзя написать. Значение даёт почтовый сервис домена.
example.ru. MX 10 mx.mail-provider.example.SPF — TXT-запись со списком серверов, которым разрешено отправлять письма от имени домена. Почтовый сервис получателя сверяет, с какого сервера пришло письмо, со списком из SPF.
example.ru. TXT "v=spf1 include:_spf.mail-provider.example ip4:203.0.113.10 ~all"Здесь разрешены серверы почтового сервиса и сервер сайта с адресом 203.0.113.10.
DKIM — цифровая подпись письма. Почтовый сервис подписывает каждое письмо закрытым ключом, а открытый ключ лежит в DNS. Получатель проверяет подпись и видит, что письмо не подделано. Ключ генерирует почтовый сервис, вы только добавляете запись.
mail._domainkey.example.ru. TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkq…"DMARC — правило, что делать с письмами, которые не прошли SPF и DKIM, и куда присылать отчёты.
_dmarc.example.ru. TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.ru"p=none — только наблюдать и присылать отчёты, p=quarantine — отправлять в спам, p=reject — отклонять.
С какого адреса должен отправлять сайт
Письма сайта должны уходить с ящика вашего домена, например noreply@example.ru, через SMTP почтового сервиса домена. Тогда они проходят SPF и DKIM.
Две частые ошибки:
- Сайт отправляет письма через PHP-функцию
mail()прямо с сервера хостинга. Сервер хостинга не указан в SPF, а подписи DKIM нет. - В поле «От кого» подставляется адрес посетителя, заполнившего форму. Письмо «от» чужого домена с вашего сервера почтовые сервисы отклоняют. Адрес посетителя ставят в «Ответить» (Reply-To).
Как настроить отправку: WordPress не отправляет письма, не приходят письма в 1С-Битрикс.
Как добавить записи
- Найдите, где управляется DNS домена: у регистратора, на хостинге или в отдельном DNS-сервисе. Это видно по NS-записям домена.
- Возьмите значения записей в справке или в настройках вашего почтового сервиса: он даёт MX, адрес для SPF (
include:) и ключ DKIM. - Добавьте записи в DNS. Если сайт отправляет письма не только через почтовый сервис, но и напрямую с сервера, добавьте IP сервера в ту же SPF-запись.
- Начните DMARC с
p=noneи адресом для отчётов. - Подождите: изменения DNS расходятся от нескольких минут до нескольких часов.
Как проверить
- Проверка сайта показывает в блоке «Почта домена», есть ли у домена MX, SPF и DMARC и какая политика DMARC.
- Отправьте письмо с сайта на внешний ящик и откройте его заголовки: «Свойства письма» в Яндекс Почте, «Показать оригинал» в Gmail. В строке
Authentication-Resultsдолжно бытьspf=pass,dkim=pass,dmarc=pass.
Частые ошибки
- Две SPF-записи. У домена может быть только одна запись
v=spf1. Если их две, проверка SPF не проходит совсем. Объедините серверы в одну запись. - Неподходящее окончание SPF.
~all— письма с других серверов помечаются как подозрительные,-all— отклоняются. С-allлегко потерять письма, если забыли какой-то сервер, например сервис рассылок. - DMARC сразу с
p=reject. Если SPF или DKIM настроены не для всех отправителей, часть настоящих писем начнёт отклоняться. Сначалаp=noneи отчёты, потом ужесточение. - Забыли про сервис рассылок или CRM. Если письма от домена отправляют и они, их серверы тоже должны быть в SPF, а для DKIM — свой ключ.
Частые вопросы
Нужны ли SPF и DKIM, если сайт не отправляет рассылки?
Да. Сайт всё равно отправляет письма: заявки с форм, уведомления о заказах, восстановление пароля. Без SPF и DKIM они чаще попадают в спам.
Я добавил записи, а письма всё равно в спаме
Проверьте заголовки письма: проходят ли spf, dkim, dmarc. Если проходят, причина в содержании или репутации домена и сервера. Если нет — с какого сервера и адреса ушло письмо и есть ли он в SPF.
Сколько времени ждать после изменения DNS?
Обычно от нескольких минут до нескольких часов: зависит от времени жизни записи (TTL), которое стояло раньше.
Опишите проблему в форме. Пришлём оценку в часах до начала работы, первая задача до 2 часов бесплатно для новых клиентов.
Отправить задачу