Почему письма уходят в спам: SPF, DKIM и DMARC простыми словами

У моего домена почта работала, письма отправлялись, всё выглядело нормально - а двух из трёх записей, отвечающих за доверие к отправителю, не было вовсе. Объясняю SPF, DKIM и DMARC человеческим языком: что каждая делает, в каком порядке ставить и как проверить результат за две минуты.

Александр МазинАлександр Мазин AI-инженер · автоматизация бизнеса Опубликовано
Три конверта проходят через арки-штампы, четвёртый отложен в тень

Я собирался включить на своём сайте почтовую рассылку и по привычке начал с проверки домена. Оказалось, что у него настроены только базовые вещи: почта работает, письма отправляются, всё выглядит нормально. Двух из трёх записей, отвечающих за доверие к отправителю, не было вовсе.

Это типичная ситуация. Почта "просто работает" ровно до того момента, когда вы начинаете отправлять что-то массовое или важное - и тогда выясняется, что половина писем не доходит, а вы об этом не знаете, потому что уведомлений о попадании в спам не бывает.

Разберу три записи по-человечески, без RFC.

SPF: кому разрешено писать от вашего имени

Представьте, что кто угодно может отправить бумажное письмо на бланке вашей компании. Примерно так устроена почта по умолчанию: адрес отправителя в письме - это просто текст, его можно написать любой.

SPF - это список: с каких серверов разрешено отправлять письма от вашего домена. Он лежит в настройках домена, и почтовые системы его проверяют. Пришло письмо от вас с сервера, которого нет в списке, - повод для подозрений.

Эта запись есть почти у всех, потому что хостинг обычно ставит её сам при подключении почты. Дальше начинается то, что сам себя не поставит.

DKIM: подпись, которую нельзя подделать

SPF говорит "письмо пришло с правильного сервера". DKIM говорит "письмо действительно ваше и его не меняли по дороге": исходящая почта подписывается криптографической подписью, а проверить её можно открытым ключом, который лежит в настройках домена.

Разница практическая. SPF ломается при пересылке письма: адрес отправителя остался ваш, а сервер уже чужой. DKIM пересылку переживает, потому что подпись живёт в самом письме.

Именно этой записи у меня не было. И тут выяснилась деталь, из-за которой её и не бывает у многих: на моём хостинге DKIM не включается кнопкой в панели - его включает поддержка по обращению. Пишете тикет, просите подписывать исходящую почту, и запись появляется в настройках домена сама. Пять минут работы и ноль рублей, но об этом надо знать.

DMARC: что делать с письмами, которые не прошли проверку

Первые две записи описывают, как проверить письмо. DMARC отвечает на следующий вопрос: а что делать, если проверка не прошла?

Вариантов три: ничего не делать и просто наблюдать, отправить в спам или отклонить совсем. Плюс адрес, на который почтовые системы будут присылать отчёты - кто и откуда шлёт письма от вашего имени.

Порядок здесь важен, и его нарушение - главная ошибка самостоятельной настройки. Нельзя начинать со строгого режима: если DKIM не настроен или какой-то ваш сервис шлёт письма мимо списка, вы своими руками отправите в спам собственную почту.

Правильная последовательность: сначала мягкий режим наблюдения с отчётами, потом настройка DKIM, потом проверка боем, и только потом ужесточение. Я именно так и делал: поставил DMARC, добился DKIM, убедился, что обе проверки проходят, и после этого поднял режим до отправки подозрительного в спам.

Как проверить за две минуты

Не надо ставить инструменты и разбираться в заголовках. Есть бесплатные сервисы-автоответчики: вы отправляете письмо со своего рабочего адреса на специальный адрес и получаете в ответ полный разбор - прошёл ли SPF, прошёл ли DKIM, что видит принимающая сторона.

Я пользуюсь таким после каждого изменения. Ответ приходит за минуту, и в нём прямым текстом написано pass или fail по каждому пункту. Это единственный способ убедиться, что вы настроили не то, что хотели, а то, что получилось.

Отдельная грабля, если правите настройки домена через программный интерфейс хостинга, а не руками: у некоторых провайдеров операция изменения записей перезаписывает всю группу целиком и молча удаляет то, что вы не передали. После любой такой правки проверяйте, на месте ли записи почты и адреса сайта. Я проверяю всегда.

Бонус: аватар отправителя

Раз уж речь о доверии к письму - вопрос, который мне задают чаще, чем про DKIM: как сделать, чтобы рядом с письмом показывалась картинка компании, а не серый кружок с буквой.

Ответ неприятный и разный для разных почт:

  • В Gmail единственный официальный путь - технология BIMI, а она требует сертификата, подтверждающего права на товарный знак. Это от 1000 долларов в год и обязательный зарегистрированный знак. Для индивидуального предпринимателя без товарного знака - недоступно в принципе.
  • В Mail.ru делается бесплатно через кабинет почтмейстера: подтверждаете домен записью в его настройках и загружаете картинку. Требования простые - квадрат, непрозрачный фон, читаемость в мелком размере.
  • В Яндексе встроенного способа нет, работает сервис глобальных аватаров, привязанный к адресу отправителя.

Но заниматься этим стоит только после того, как настроены DKIM и DMARC. Без них у вас проблема не с картинкой, а с тем, что красивое письмо просто не увидят.

Что забрать себе

  • Три записи, в этом порядке: SPF (обычно уже есть), DKIM (чаще всего нет), DMARC (почти никогда нет).
  • DMARC начинать с режима наблюдения, ужесточать после того, как DKIM подтверждён проверкой.
  • Проверять результат письмом на сервис-автоответчик, а не глазами по документации.
  • Если DKIM не включается из панели - это не значит, что его нет. Напишите в поддержку хостинга, обычно это одна заявка.
  • Всё вместе занимает час и не стоит ничего. Один этот час решает большую часть вопросов "почему нашу рассылку никто не читает".

Новые разборы - на почту

Разборы задач автоматизации: что автоматизировать, сколько это стоит и что даёт в цифрах. Одно письмо на статью, без рекламы чужих продуктов.

Александр Мазин

Александр Мазин

AI-инженер. Автоматизирую бизнес под ключ: CRM, интеграции, AI-ассистенты, платформы. Пишу о системах, которые заменяют отдел.