SPF, DKIM и DMARC: как настроить домен для email-рассылки
Пошаговая настройка SPF, DKIM и DMARC: где взять значения, какие TXT-записи добавить, как проверить подпись и безопасно перейти к политике reject.
В этой статье
Коротко. SPF, DKIM и DMARC настраивают в DNS домена тремя TXT-записями: SPF перечисляет разрешённые серверы, DKIM подтверждает подпись письма открытым ключом, DMARC задаёт проверку и отчёты. Начинайте с одного SPF, затем включайте DKIM, публикуйте DMARC с p=none и только после проверки отчётов переходите к quarantine или reject.
Эти записи не создают почтовый ящик и не пишут рассылку. Они помогают принимающему серверу понять, разрешил ли владелец домена такую отправку и совпадает ли проверенная сущность с адресом, который видит получатель.
Настройка затрагивает все источники писем: корпоративную почту, сайт, CRM, сервис рассылок и транзакционный шлюз. Пропущенный источник начнёт проваливать проверку после строгой политики. Поэтому сначала составьте карту отправителей, а уже затем меняйте DNS.
Что такое SPF, DKIM и DMARC
SPF — механизм, который позволяет домену перечислить серверы, имеющие право отправлять почту от его имени. DKIM — криптографическая подпись: отправитель подписывает части письма закрытым ключом, а получатель проверяет подпись по открытому ключу в DNS. DMARC связывает результат этих проверок с доменом в поле From, задаёт политику обработки и адреса агрегированных отчётов.
| Механизм | Что проверяет | Где запись |
|---|---|---|
| SPF | Разрешён ли сервер | Корень домена |
| DKIM | Верна ли подпись | selector._domainkey |
| DMARC | Совпадение домена и политика | _dmarc |
Технические основы описаны в стандартах RFC 7208 для SPF, RFC 6376 для DKIM и RFC 7489 для DMARC. Значения для своего домена берите из панели каждого почтового сервиса: селектор и ключ нельзя угадывать по чужому примеру.
В каком порядке настраивать почтовый домен
Рабочий порядок снижает риск потерять письма. Сначала фиксируют отправителей, затем добавляют разрешения и подписи, после наблюдают DMARC-отчёты. Строгую политику включают, когда легитимные потоки проходят проверку.
- Соберите источники. Почтовые ящики, формы сайта, CRM, чеки, уведомления и сервис рассылок.
- Найдите владельца каждого источника. Он подтверждает домен и даёт DNS-значения.
- Соберите один SPF. Все разрешённые отправители должны находиться в одной записи.
- Включите DKIM. Отдельный селектор для каждого сервиса упрощает замену ключей.
- Добавьте DMARC с p=none. Укажите рабочий адрес для агрегированных отчётов.
- Проверьте реальные письма. Тесты нужны от каждого источника, а не только от корпоративного ящика.
- Исправьте несоответствия. Подключите забытые источники или прекратите их отправку.
- Ужесточайте политику. Сначала ограниченная доля или quarantine, затем reject после наблюдения.
Перед DNS полезно защитить аккаунты администраторов: инструкция по двухфакторной аутентификации закрывает частую причину захвата почты, которую записи домена не предотвращают.
Как собрать все источники отправки
Запишите не названия отделов, а конкретные системы и адреса. «Маркетинг» может отправлять через два сервиса, продажи — из CRM, сайт — через хостинг, бухгалтерия — через оператора чеков. Каждый путь проверяется отдельно.
| Источник | Пример письма | Что запросить |
|---|---|---|
| Корпоративная почта | Ответ менеджера | SPF include и DKIM |
| Сервис рассылок | Новостной выпуск | Подтверждение домена |
| CRM | Счёт или предложение | Фактический отправитель |
| Сайт | Форма и регистрация | SMTP или API |
| Платёжный сервис | Оплата и чек | Домен в подписи |
| Служба поддержки | Ответ по обращению | Возвратный адрес |
Отправьте по одному реальному тесту из каждого пути и сохраните полные заголовки. Поле From на экране не показывает, какой сервер участвовал и каким доменом подписано письмо.
Как настроить SPF
SPF публикуют TXT-записью на домене, который используется механизмом возврата. Начало записи — v=spf1, далее идут разрешённые механизмы, в конце — квалификатор для остальных источников. Точное значение даёт провайдер.
v=spf1 include:_spf.example-mail.ru ip4:192.0.2.10 -all
Этот пример разрешает инфраструктуру, указанную через include, и один IPv4-адрес; остальным ставит fail. Адреса и домен условные, копировать запись в рабочий DNS нельзя.
- Одна SPF-запись на имя. Две строки v=spf1 создают ошибку, их объединяют.
- Не добавляйте всё подряд. Старый include оставляет чужой сервис разрешённым отправителем.
- Следите за DNS-поисками. Стандарт SPF ограничивает число механизмов и модификаторов, вызывающих DNS-запросы, десятью за одну проверку.
- Не путайте TXT и копирование кавычек. Панель DNS сама может отображать кавычки, хотя вводит значение без них.
После изменения дождитесь обновления по TTL, запросите TXT через независимый DNS-инструмент и отправьте тест. Один зелёный валидатор записи не доказывает, что письмо проходит выравнивание DMARC.
Как настроить DKIM
Почтовый сервис создаёт пару ключей. Закрытый хранится у отправителя, открытый публикуется в DNS. Запись располагается на имени вида selector._domainkey.example.ru, где selector выдаёт сервис.
Имя: mail2026._domainkey
Тип: TXT
Значение: v=DKIM1; k=rsa; p=ОТКРЫТЫЙ_КЛЮЧ_ИЗ_ПАНЕЛИ
У разных отправителей могут быть разные селекторы. Это полезно: ключ CRM можно заменить, не останавливая корпоративную почту. Если сервис просит CNAME вместо TXT, следуйте его инструкции — он может управлять ключом на своей стороне.
| Проверка | Нормальный результат | Если ошибка |
|---|---|---|
| Имя записи | Селектор найден | Проверить зону и суффикс панели |
| Ключ | Строка собрана полностью | Убрать пробелы и обрыв |
| Подпись письма | dkim=pass | Включить подпись в сервисе |
| Домен подписи | Совпадает организационно | Подтвердить свой домен |
| Селектор | Тот же, что в заголовке | Проверить старый шаблон |
Публикация ключа ещё не включает подпись. В панели отправителя должен появиться статус подтверждения, а в заголовке тестового письма — DKIM-Signature с нужными d= и s=.
Как настроить DMARC
DMARC-запись публикуют на имени _dmarc.example.ru. Для начала используют наблюдение: политика p=none не просит отклонять письмо, зато позволяет получать агрегированные отчёты.
v=DMARC1; p=none; rua=mailto:dmarc@example.ru
Создайте отдельный адрес для отчётов или подключите сервис, который превращает XML в таблицу. Обычный почтовый ящик быстро заполнится файлами, которые неудобно читать вручную.
| Политика | Просьба получателю | Когда применять |
|---|---|---|
| p=none | Наблюдать | Инвентаризация и тест |
| p=quarantine | Помещать подозрительное отдельно | Потоки проверены частично |
| p=reject | Отклонять провалившее проверку | Легитимные источники выровнены |
DMARC проходит, когда хотя бы один механизм — SPF или DKIM — дал pass и его проверенный домен выровнен с доменом видимого From по заданному режиму. Просто наличие трёх TXT-записей не гарантирует результат.
Как читать DMARC-отчёт
Агрегированный отчёт группирует сообщения по источнику, результатам SPF и DKIM, доменам и применённой политике. Для каждого незнакомого IP задайте вопрос: это забытый легитимный сервис, пересылка или попытка подделки.
- Сгруппируйте строки по объёму и источнику.
- Отметьте известные корпоративные и маркетинговые системы.
- Для легитимного провала проверьте домен DKIM и возвратный путь SPF.
- Отключите старые сервисы, которыми компания больше не пользуется.
- Незнакомые источники не добавляйте в SPF ради зелёного отчёта.
- Повторите наблюдение после исправлений.
Большой объём с неизвестного источника может означать подделку. Сам отчёт не доказывает взлом почтового ящика. Признаки поддельных страниц и писем разобраны в материале про фишинг.
Упрощённая последовательность проверки отправителя и политики домена по SPF, DKIM и DMARC.
Как проверить письмо по заголовкам
Откройте исходник или полные заголовки тестового письма и найдите Authentication-Results. Почтовый сервис обычно показывает результаты spf=, dkim= и dmarc=. Затем сопоставьте домены, а не только слова pass.
| Поле | Что смотреть | Зачем |
|---|---|---|
| From | Видимый домен | Основа выравнивания DMARC |
| Return-Path | Домен возврата | Путь SPF |
| DKIM-Signature | d= и s= | Домен и селектор подписи |
| Authentication-Results | pass, fail, reason | Результат у получателя |
Проверяйте несколько почтовых систем и каждый источник. Пересылка способна повлиять на SPF, а DKIM может сломаться, если посредник изменил подписанную часть письма.
Почему SPF, DKIM или DMARC не проходит
Шаг 1. Запись видна в DNS?
- Нет — проверить имя, выбранную DNS-зону и TTL.
- Да — шаг 2
Шаг 2. Механизм показывает pass?
- SPF fail — сервер не разрешён или проверяется другой возвратный домен.
- DKIM fail — ключ, селектор или подпись не совпадают.
- Есть pass — шаг 3
Шаг 3. DMARC всё равно fail?
- Домен SPF не выровнен с From — настройте собственный возвратный домен.
- Домен DKIM не выровнен с From — подтвердите домен подписи у сервиса.
- Один механизм выровнен и проходит — проверьте, какую запись DMARC нашёл получатель.
Снимок экрана панели DNS мало помогает диагностике. Сохраните имя записи, фактический ответ DNS и заголовок конкретного тестового письма.
Как безопасно включить quarantine и reject
Не меняйте p=none на p=reject в день публикации записей. Сначала дождитесь репрезентативного периода: в отчётах должны появиться редкие источники — месячные счета, письма поддержки, сезонные кампании и резервные системы.
- все активные источники внесены в карту;
- каждый подписывает DKIM вашим доменом или выровнен по SPF;
- неизвестные потоки разобраны, а не добавлены автоматически;
- ответственный получает отчёты и предупреждения;
- есть план отката политики;
- DNS-доступ защищён и документирован.
После ужесточения отслеживайте обращения и DMARC-отчёты. Запись можно вернуть к предыдущей политике, но обновление зависит от DNS-кэша. Поэтому изменение планируют на рабочее время команды.
Какие ошибки встречаются чаще всего
- Две записи SPF. Провайдеры добавлены отдельными строками вместо объединения.
- Скопирован чужой ключ DKIM. Пример из инструкции принят за рабочее значение.
- Лишний домен в имени. Панель DNS сама дописала зону, получился повтор.
- Строгий DMARC включён сразу. Письма старой CRM начали отклоняться.
- Проверен только один ящик. Рассылки и чеки идут через другие серверы.
- Смотрят только на pass. Домен проверки не совпадает с видимым From.
- Старые include не удаляются. Бывший подрядчик остаётся разрешённым отправителем.
- Отчёты приходят в непросматриваемый ящик. Изменения источников замечают после жалоб.
SPF, DKIM и DMARC уменьшают возможность подделки домена, но не заменяют сильные пароли, контроль доступа, обучение сотрудников и проверку ссылок. Общий разбор угроз есть в статье о кибербезопасности малого бизнеса.
Отдельно запланируйте миграцию между почтовыми сервисами. Пока старый и новый провайдеры отправляют параллельно, SPF должен разрешать оба источника, а у каждого DKIM остаётся свой селектор. Не удаляйте старую запись в момент переключения: очереди и запланированные кампании могут продолжить отправку. Сначала остановите задания, дождитесь завершения очередей, проверьте отчёты и только затем убирайте разрешение.
Зафиксируйте настройки в паспорте домена: DNS-провайдер, владелец доступа, активные источники, селекторы, дата последней проверки и план отката. Сам пароль в документ не записывают. Если сайт и почту запускали разные подрядчики, такая карта помогает понять, где находится зона и кто вправе менять её. Как домен связан с сайтом и почему доступ к нему принадлежит бизнесу, объясняет статья о сайте-визитке.
Для сайта на конструкторе DNS часто уже содержит записи подтверждения, адреса сайта и почтовые маршруты. Не удаляйте незнакомую строку ради «чистой зоны». Сначала выясните её назначение в официальной инструкции сервиса и сделайте снимок текущих значений. Общий порядок запуска проекта без разработчика есть в материале как создать сайт бесплатно.
Письма от имени основного домена удобно разделять поддоменами по функциям: корпоративная переписка, массовые выпуски, сервисные уведомления. Такое решение требует отдельного проектирования и не отменяет проверку каждого потока. Его польза — локализация репутационных и технических проблем: ошибочная кампания меньше затрагивает почту сотрудников.
Не используйте поддомен как способ скрыть происхождение письма. В адресе отправителя, подписи и ссылках клиент должен узнавать компанию. Получатель, который не понимает, откуда взялось сообщение, чаще жалуется на спам. Решение канала связи после покупки можно сверить со статьёй «Почта, бот или канал».
Если часть аудитории не получает email из-за ограничений сети или настроек организации, не пытайтесь обойти фильтры подменой домена. Согласуйте разрешённые адреса и форматы с администратором получателя. Как устроен доступ к ресурсам при сетевых ограничениях, описано в разборе белых списков интернета.
Маркетинговую и сервисную отправку проверяйте одинаково тщательно, но учитывайте разные последствия задержки. Выпуск можно перенести, а ссылка восстановления доступа нужна сразу. Архитектура сервисных сообщений разобрана в статье о транзакционных письмах, которая выходит раньше этой инструкции.
Для критичных уведомлений держите согласованный резерв: поддержку, личный кабинет или другой канал, который клиент выбрал законно. Email-аутентификация не гарантирует чтение письма и не превращает рассылку без согласия в разрешённую. Правила коммуникаций через другой канал сверяйте с материалом о рассылках в мессенджере и законе.
После каждого изменения отправляйте тест не только на личный адрес администратора. Нужны разные крупные почтовые системы и адрес внутри компании. Сохраняйте исходные заголовки, время и источник. Проверка по одному скриншоту сервиса не покажет, как письмо обработал конечный получатель.
Раз в квартал сверяйте карту с бухгалтерией, продажами, поддержкой и разработкой. Новый сервис часто подключают без участия владельца домена: тестовое письмо уходит с временного адреса, а перед запуском его меняют на корпоративный. Этот момент должен попадать в процедуру запуска поставщика и в проверку фактов о его настройках; полезная редакционная схема есть в статье про фактчекинг.
Права на DNS выдавайте по роли и отзывайте после завершения работ. Перед изменением экспортируйте зону или сохраните значения средствами провайдера. Если ошибка затронула и сайт, и почту, восстановление по памяти займёт дольше, чем откат подготовленной версии.
Чек-лист
- Составлена карта всех систем, которые отправляют письма от домена.
- На каждом имени опубликована только одна SPF-запись.
- DNS-поиски SPF укладываются в ограничение стандарта.
- Для каждого сервиса включена DKIM-подпись с его селектором.
- DMARC запущен с p=none и рабочим адресом отчётов.
- Тесты отправлены из корпоративной почты, CRM, сайта и сервиса рассылок.
- В заголовках проверены pass и совпадение доменов с From.
- Неизвестные источники расследованы, старые разрешения удалены.
- Переход к quarantine или reject сделан после наблюдения и с планом отката.
Остался вопрос по теме статьи? Напишите его в предложку блога — отвечаю лично: задать вопрос в MAX. Частые вопросы разбираю отдельными статьями и присылаю ссылку тому, кто спросил.
Частые вопросы
Что такое SPF, DKIM и DMARC?
SPF перечисляет разрешённые серверы, DKIM подтверждает криптографическую подпись, а DMARC проверяет выравнивание с видимым доменом и задаёт политику обработки.
В каком порядке настраивать SPF, DKIM и DMARC?
Соберите источники, создайте один SPF, включите DKIM у каждого сервиса, затем опубликуйте DMARC с p=none. Строгую политику включайте после анализа отчётов.
Можно ли создать две SPF-записи?
Нет. Несколько записей v=spf1 на одном имени приводят к ошибке проверки; разрешения разных сервисов объединяют в одну запись.
Что означает p=none в DMARC?
Это режим наблюдения: домен публикует правила и получает отчёты, но не просит получателя помещать провалившиеся письма в карантин или отклонять их.
Почему DKIM pass, а DMARC fail?
Частая причина — домен параметра d= в подписи не выровнен с доменом видимого From. Подтвердите собственный домен подписи у сервиса.
Сколько SPF-запросов допускается?
RFC 7208 ограничивает десятью число механизмов и модификаторов, которые вызывают DNS-поиски во время одной проверки SPF.
Нужно ли сразу ставить p=reject?
Нет. Сначала соберите отчёты при p=none, исправьте легитимные источники и подготовьте откат. Затем переходите к более строгой политике под наблюдением.
Читайте дальше
-
Анонимный опрос в MAX: как сделать и скрыть имена участников
Как скрыть имена проголосовавших в MAX и чем штатный опрос отличается от анонимного сценария Tapbox.
-
Как ответить на сообщение в MAX: цитатой и лично
Как ответить на конкретное сообщение в MAX с цитатой, перейти к исходной реплике и написать участнику группы лично.
-
Как зачеркнуть текст в MAX: зачёркнутый, подчёркнутый и курсив
Как зачеркнуть, подчеркнуть или сделать курсив в сообщении и посте MAX на телефоне и компьютере, какие горячие клавиши…