SPF, DKIM и DMARC: полное руководство по аутентификации email
Освойте аутентификацию email с помощью этого подробного руководства по SPF, DKIM и DMARC. Как работает каждый протокол, настройка DNS-записей, устранение типичных проблем и улучшение доставляемости.
Аутентификация email — основа надёжной доставки писем. Без правильной настройки SPF, DKIM и DMARC ваши тщательно написанные письма могут никогда не попасть во входящие ваших клиентов. Вместо этого они оказываются в папке спама или отклоняются полностью.
Это подробное руководство объясняет, что делает каждый протокол аутентификации, предоставляет пошаговые инструкции по настройке DNS, охватывает устранение типичных проблем и показывает, как убедиться в правильности конфигурации.
Почему важна аутентификация email
Email был разработан в эпоху, когда безопасность не являлась приоритетом. Исходный протокол SMTP не имеет встроенного механизма верификации, подтверждающего, что письмо действительно пришло от того, кем представляется. Эта фундаментальная слабость позволяет подделывать email, проводить фишинговые атаки и рассылать спам.
Протоколы аутентификации email решают эту проблему, позволяя владельцам доменов указывать:
- Какие серверы могут отправлять письма от их имени (SPF)
- Криптографическое доказательство подлинности и неизменности сообщений (DKIM)
- Что делать с сообщениями, не прошедшими аутентификацию (DMARC)
Влияние слабой аутентификации на бизнес
Без надлежащей аутентификации email:
- Ниже доставляемость: крупные провайдеры, такие как Gmail, Microsoft и Yahoo, агрессивнее фильтруют неаутентифицированные письма
- Выше попадание в спам: ваши легитимные письма конкурируют с поддельными сообщениями, использующими ваш домен
- Репутационный ущерб: фишинговые атаки, имитирующие ваш бренд, подрывают доверие клиентов
- Потеря выручки: маркетинговые кампании не достигают подписчиков, давших согласие на их получение
- Риски соответствия: многие нормы теперь требуют надлежащей аутентификации email
Триада аутентификации
SPF, DKIM и DMARC работают вместе как полноценная система аутентификации:
| Протокол | Что делает | Аналогия |
|---|---|---|
| SPF | Перечисляет авторизованные серверы-отправители | Бланк компании с перечнем разрешённых офисов |
| DKIM | Криптографически подписывает сообщения | Восковая печать, подтверждающая подлинность |
| DMARC | Устанавливает политику для сбоев + отчётность | Инструкции о действиях с подозрительными письмами |
Каждый протокол противодействует разным векторам атак. SPF предотвращает отправку от неавторизованных серверов. DKIM предотвращает изменение сообщений после отправки. DMARC объединяет их и предоставляет видимость результатов аутентификации.
SPF (Sender Policy Framework)
SPF (Sender Policy Framework) — метод аутентификации email на основе DNS, определяющий, какие почтовые серверы авторизованы для отправки email от имени вашего домена.
Как работает SPF
Когда письмо поступает на принимающий сервер, тот ищет SPF-запись домена отправителя. Затем проверяет, указан ли IP-адрес отправившего письмо как авторизованный. Если IP совпадает, SPF проходит. Если нет — не проходит.
Процесс верификации SPF:
- Вы отправляете письмо с маркетинговой платформы
- Принимающий сервер извлекает ваш домен из Return-Path (конверт отправителя)
- Сервер запрашивает DNS для SPF-записи вашего домена
- Сравнивает IP отправки со списком авторизованных в SPF-записи
- Сервер фиксирует результат: pass, fail, softfail или neutral
Синтаксис SPF-записи
SPF-записи публикуются как TXT-записи в DNS вашего домена. Базовая структура:
v=spf1 [mechanisms] [qualifier]allТег версии: всегда начинается с v=spf1
Механизмы: определяют, кто может отправлять
| Механизм | Описание | Пример |
|---|---|---|
| include: | Доверять SPF другого домена | include:spf.brevo.com |
| ip4: | Авторизовать конкретный IPv4 | ip4:192.168.1.1 |
| ip6: | Авторизовать конкретный IPv6 | ip6:2001:db8::1 |
| a | Разрешить IP A-записи домена | a |
| mx | Разрешить IP почтового сервера домена | mx |
| ptr | Обратный DNS (устарело) | ptr:example.com |
| exists: | Условная проверка | exists:%{i}.spf.example.com |
Квалификаторы: определяют обработку совпадений
| Квалификатор | Значение | Результат |
|---|---|---|
| + | Pass (по умолчанию) | Авторизован |
| - | Fail (жёсткий) | Неавторизован, отклонить |
| ~ | SoftFail | Неавторизован, принять, но отметить |
| ? | Neutral | Нет политики |
Механизм all: применяется ко всему, что не совпало с предыдущими механизмами
Примеры SPF-записей
Базовая настройка с одним email-провайдером:
v=spf1 include:spf.brevo.com -allАвторизует Brevo отправлять email для вашего домена и отклоняет всех остальных.
Несколько email-сервисов:
v=spf1 include:spf.brevo.com include:_spf.google.com include:spf.protection.outlook.com -allАвторизует Brevo, Google Workspace и Microsoft 365.
Включение собственного почтового сервера:
v=spf1 ip4:203.0.113.10 include:spf.brevo.com -allАвторизует конкретный IP-адрес (ваш сервер) плюс Brevo.
Начало с мягким отказом при тестировании:
v=spf1 include:spf.brevo.com ~allИспользование ~all вместо -all отмечает сбои, но не отклоняет. Полезно при первоначальной настройке.
Настройка SPF-записей
Шаг 1: Определите источники отправки
Перечислите каждый сервис, отправляющий email с вашего домена:
- Email-маркетинговые платформы (Brevo, Mailchimp и т. д.)
- Сервисы транзакционных писем
- CRM-системы
- ПО хелпдеска
- Корпоративный email (Google Workspace, Microsoft 365)
- Собственные почтовые серверы
Шаг 2: Соберите include-выражения SPF
| Провайдер | SPF Include |
|---|---|
| Brevo | include:spf.brevo.com |
| Google Workspace | include:_spf.google.com |
| Microsoft 365 | include:spf.protection.outlook.com |
| Amazon SES | include:amazonses.com |
| SendGrid | include:sendgrid.net |
| Mailgun | include:mailgun.org |
Шаг 3: Создайте SPF-запись
v=spf1 include:spf.brevo.com include:_spf.google.com -allШаг 4: Добавьте DNS-запись
В интерфейсе управления DNS:
- Тип: TXT
- Хост/Имя: @ (или оставьте пустым для корневого домена)
- Значение: ваша полная SPF-запись
- TTL: 3600 (или по умолчанию)
Шаг 5: Проверьте запись
dig TXT yourdomain.comИли используйте онлайн-инструменты, такие как MXToolbox SPF Lookup.
Ограничения SPF и лучшие практики
Лимит 10 DNS-запросов:
SPF имеет максимум 10 DNS-запросов. Каждый include: считается одним запросом. Превышение лимита вызывает SPF permerror (постоянную ошибку), и все проверки проваливаются.
Стратегии удержания в рамках лимита:
- Используйте IP-адреса напрямую, когда возможно (ip4: не считается как запрос)
- Консолидируйте сервисы у одного провайдера
- Используйте сервисы «выравнивания» SPF, конвертирующие include в IP
- Удалите устаревшие include от старых сервисов
Другие лучшие практики:
- Только одна SPF-запись на домен (несколько записей вызывают сбои)
- Начните с
~all(softfail) при настройке, перейдите к-allпосле подтверждения - Обновляйте SPF при смене email-провайдеров
- Не используйте устаревший механизм
ptr - Держите записи как можно проще
Типичные ошибки SPF
Несколько SPF-записей:
Неправильно:v=spf1 include:spf.brevo.com -allv=spf1 include:_spf.google.com -all
Правильно:v=spf1 include:spf.brevo.com include:_spf.google.com -allПревышение лимита DNS-запросов:
Если много include, проверьте общее количество запросов. Используйте SPF-анализаторы для проверки.
Забыть обновить после смены провайдера:
При переходе с одного email-сервиса на другой — удалите старый include и добавьте новый.
Использование +all:
Никогда не используйте +all, так как это авторизует всех отправлять от имени вашего домена.
DKIM (DomainKeys Identified Mail)
DKIM добавляет криптографическую подпись к письмам, доказывая, что сообщение отправлено с вашего домена и не было изменено при передаче.
Как работает DKIM
DKIM использует криптографию с публичным ключом:
- Ваш email-провайдер генерирует пару публичного/приватного ключей
- Вы публикуете публичный ключ в DNS
- Провайдер подписывает исходящие письма приватным ключом
- Принимающие серверы получают ваш публичный ключ из DNS
- Используют публичный ключ для проверки подписи
- Действительная подпись доказывает подлинность и целостность
Что подписывает DKIM:
- Заголовок From (обязательно)
- Заголовок Subject
- Заголовок Date
- Тело сообщения
- Другие заголовки по конфигурации
Это предотвращает изменение этих элементов злоумышленниками после отправки.
Структура DKIM-записи
DKIM-записи публикуются как TXT-записи в формате:
selector._domainkey.yourdomain.comСодержимое DKIM-записи:
v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC...| Тег | Описание | Пример |
|---|---|---|
| v= | Версия (всегда DKIM1) | v=DKIM1 |
| k= | Тип ключа (обычно rsa) | k=rsa |
| p= | Публичный ключ (base64) | p=MIGfMA0… |
| t= | Флаги (необязательно) | t=s (строгий режим) |
| h= | Алгоритмы хеширования (необязательно) | h=sha256 |
Настройка DKIM
Шаг 1: Сгенерируйте ключи DKIM
Ваш email-провайдер обычно генерирует ключи автоматически. В Brevo:
- Перейдите в Настройки > Отправители, домены и выделенные IP
- Выберите ваш домен
- Перейдите в раздел DKIM
- Скопируйте предоставленную DNS-запись
Для собственных почтовых серверов сгенерируйте ключи с помощью OpenSSL:
openssl genrsa -out private.key 2048openssl rsa -in private.key -pubout -out public.keyШаг 2: Добавьте DKIM DNS-запись
В управлении DNS:
- Тип: TXT
- Хост/Имя: selector._domainkey (например, brevo._domainkey)
- Значение: DKIM-запись от вашего провайдера
- TTL: 3600
Шаг 3: Включите DKIM-подпись
В настройках вашего email-провайдера включите DKIM-подпись для домена.
Шаг 4: Проверьте настройку
Отправьте тестовое письмо и проверьте заголовки на наличие DKIM-Signature. Используйте:
- mail-tester.com
- DKIM Validator
- MXToolbox DKIM Lookup
Лучшие практики DKIM
Используйте ключи 2048-бит:
Более старые ключи 1024-бит считаются слабыми. Современные стандарты безопасности рекомендуют минимум 2048-бит RSA.
Ротируйте ключи периодически:
Ежегодная ротация — хорошая практика безопасности. Добавьте новый ключ перед удалением старого.
Следите за компрометацией ключей:
Если приватный ключ скомпрометирован, злоумышленники могут подписывать сообщения от вашего имени.
Используйте разные селекторы для разных сервисов:
Каждый email-провайдер должен использовать уникальный селектор.
Чтение DKIM-заголовков
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=brevo; h=from:to:subject:date:message-id; bh=base64hashofbody; b=base64signature;| Тег | Значение |
|---|---|
| v= | Версия (всегда 1) |
| a= | Алгоритм (rsa-sha256 рекомендуется) |
| c= | Канонизация (relaxed допускает незначительные изменения) |
| d= | Подписывающий домен |
| s= | Селектор |
| h= | Подписанные заголовки |
| bh= | Хеш тела |
| b= | Подпись |
DMARC (Domain-based Message Authentication, Reporting, and Conformance)
DMARC строится на SPF и DKIM для обеспечения выполнения политики и отчётности. Он указывает принимающим серверам, что делать при сбое аутентификации, и отправляет вам отчёты о результатах.
Как работает DMARC
DMARC добавляет две ключевые возможности:
- Применение политики: определите, как получатели должны обрабатывать сбои аутентификации
- Отчётность: получайте данные о том, кто отправляет email с вашего домена
Процесс верификации DMARC:
- Принимающий сервер получает письмо, якобы от вашего домена
- Проверяет SPF (совпадает ли IP отправки?)
- Проверяет DKIM (действительна ли подпись?)
- Проверяет выравнивание DMARC (совпадают ли аутентифицированные домены с заголовком From?)
- При сбое выравнивания применяет вашу политику DMARC
- Отправляет вам сводные и/или криминалистические отчёты
Выравнивание DMARC
DMARC требует выравнивания между доменом в заголовке From и доменами, проходящими SPF или DKIM.
Режимы выравнивания:
| Режим | Описание |
|---|---|
| Strict (s) | Требуется точное совпадение домена |
| Relaxed (r) | Поддомены допускаются (по умолчанию) |
Синтаксис DMARC-записи
DMARC-записи публикуются как TXT-записи на _dmarc.yourdomain.com:
v=DMARC1; p=reject; rua=mailto:[email protected]; pct=100Обязательные теги:
| Тег | Описание | Значения |
|---|---|---|
| v= | Версия | DMARC1 (всегда) |
| p= | Политика | none, quarantine, reject |
Необязательные теги:
| Тег | Описание | По умолчанию |
|---|---|---|
| rua= | Адрес для сводных отчётов | нет |
| ruf= | Адрес для криминалистических отчётов | нет |
| pct= | Процент применения политики | 100 |
| sp= | Политика для поддоменов | как p= |
| adkim= | Режим выравнивания DKIM | r (relaxed) |
| aspf= | Режим выравнивания SPF | r (relaxed) |
Объяснение политик DMARC
p=none (только мониторинг):
Никаких действий при сбоях. Письма доставляются нормально. Используйте при анализе отчётов и устранении проблем.
v=DMARC1; p=none; rua=mailto:[email protected]p=quarantine (папка спама):
Письма с ошибками отправляются в папку спама. Хороший промежуточный шаг перед полным отклонением.
v=DMARC1; p=quarantine; rua=mailto:[email protected]; pct=100p=reject (блокировать):
Письма с ошибками полностью отклоняются. Максимальная защита, но убедитесь, что все легитимные источники проходят проверку.
v=DMARC1; p=reject; rua=mailto:[email protected]; pct=100Настройка DMARC
Шаг 1: убедитесь, что SPF и DKIM работают
Шаг 2: начните с мониторинга (p=none)
v=DMARC1; p=none; rua=mailto:[email protected]Шаг 3: добавьте DNS-запись
- Тип: TXT
- Хост/Имя: _dmarc
- Значение: ваша DMARC-запись
- TTL: 3600
Шаг 4: анализируйте отчёты 2–4 недели
DMARC-отчёты приходят ежедневно в виде XML-файлов. Используйте анализаторы: DMARC Analyzer, Postmark DMARC, Valimail, dmarcian.
Шаг 5: устраните проблемы с аутентификацией
Шаг 6: постепенно применяйте политику
- Перейдите к
p=quarantine; pct=10 - Увеличьте pct до 25, 50, 75, 100
- Перейдите к
p=reject; pct=10 - Увеличьте до полного отклонения
Настройка DNS-записей: полное пошаговое руководство
Необходимые значения
Для SPF:
- Все include-выражения (например, include:spf.brevo.com)
- Конкретные IP-адреса для авторизации
Для DKIM:
- Имя селектора (например, brevo, google, s1)
- Полное значение DKIM-ключа
Для DMARC:
- Ваш email-адрес для отчётов
Добавление записей в Cloudflare
- Войдите в Cloudflare Dashboard
- Выберите домен
- Перейдите в DNS > Records
- Нажмите Add Record
- Для SPF: Type=TXT, Name=@, Content=ваша SPF-запись
- Для DKIM: Type=TXT, Name=selector._domainkey, Content=DKIM-ключ
- Для DMARC: Type=TXT, Name=_dmarc, Content=DMARC-запись
Пример полной настройки
Для домена, использующего Brevo и Google Workspace:
SPF-запись (TXT на @):
v=spf1 include:spf.brevo.com include:_spf.google.com -allDKIM-запись для Brevo (TXT на brevo._domainkey):
v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBA... [ключ из панели Brevo]DMARC-запись (TXT на _dmarc):
v=DMARC1; p=none; rua=mailto:[email protected]Проверка через командную строку
# Проверить SPFdig TXT yourdomain.com
# Проверить DKIMdig TXT selector._domainkey.yourdomain.com
# Проверить DMARCdig TXT _dmarc.yourdomain.comУстранение типичных проблем
Устранение проблем SPF
SPF-запись не найдена: проверьте, что запись добавлена в DNS, в правильном месте, и дождитесь распространения (до 48 часов).
SPF PermError (слишком много запросов):
- Проведите аудит include и удалите неиспользуемые
- Замените include на ip4-записи, где возможно
- Используйте сервисы выравнивания SPF
Несколько SPF-записей: объедините все механизмы в одну запись.
Устранение проблем DKIM
Подпись DKIM отсутствует: включите DKIM-подпись в настройках провайдера, завершите верификацию домена.
Верификация DKIM провалилась: проверьте DNS-запись по адресу selector._domainkey.domain, сравните селектор в заголовке DKIM-Signature с DNS.
Устранение проблем DMARC
Сбои выравнивания DMARC: убедитесь, что ваш email-провайдер подписывает с вашим доменом (пользовательский DKIM), используйте режим relaxed выравнивания.
Не получаете DMARC-отчёты: проверьте синтаксис rua: rua=mailto:[email protected], убедитесь, что адрес может получать внешние письма.
Онлайн-инструменты
- MXToolbox (mxtoolbox.com): поиск SPF, DKIM, DMARC
- Mail Tester (mail-tester.com): отправьте тестовое письмо для полного анализа
- DMARC Analyzer: визуализация отчётов
- Google Admin Toolbox: проверка MX, SPF, DKIM
Аутентификация email и Brevo
Brevo обеспечивает комплексную поддержку аутентификации email, упрощая настройку SPF, DKIM и DMARC.
Настройка аутентификации в Brevo
- Войдите в аккаунт Brevo
- Перейдите в Настройки > Отправители, домены и выделенные IP
- Нажмите «Добавить домен»
- Введите имя домена
Brevo предоставляет include для SPF: include:spf.brevo.com
Ключи DKIM генерируются автоматически. Brevo проверяет ваши DNS-записи и отображает зелёные галочки при успешной конфигурации.
Преимущества Tajo
Tajo, подключающий ваш магазин Shopify к Brevo, обеспечивает:
- Автоматическую синхронизацию клиентов: данные клиентов беспрепятственно передаются для персонализированных писем
- Отслеживание событий: события покупки, просмотра и корзины запускают аутентифицированные транзакционные письма
- Многоканальную координацию: согласованная аутентификация по email, SMS и WhatsApp
- Единую аналитику: отслеживание эффективности email наряду с другими маркетинговыми показателями
Часто задаваемые вопросы
В чём разница между SPF, DKIM и DMARC?
SPF указывает, какие серверы могут отправлять email для вашего домена. DKIM добавляет криптографическую подпись, подтверждающую подлинность сообщения. DMARC устанавливает политику обработки сбоев аутентификации и предоставляет отчётность. Все три работают вместе для полноценной аутентификации.
Нужны ли все три?
Для оптимальной доставляемости и безопасности — да. SPF в одиночку уязвим к подделке. DKIM в одиночку не устанавливает политику. DMARC требует SPF или DKIM. Вместе они обеспечивают комплексную защиту и лучший процент попадания во входящие.
Сколько времени занимает настройка аутентификации?
Изменения DNS обычно распространяются в течение 30 минут до 48 часов. После распространения аутентификация применяется немедленно. Однако построение репутации отправителя на основе стабильной аутентификации занимает недели или месяцы.
Заблокирует ли DMARC с p=reject мои легитимные письма?
Может, если настроен неправильно. Поэтому всегда начинайте с p=none (мониторинг), анализируйте отчёты 2–4 недели, устраняйте проблемы, затем постепенно переходите к quarantine и reject. Никогда не пропускайте фазу мониторинга.
Что делать, если письма всё равно попадают в спам?
Аутентификация необходима, но недостаточна для попадания во входящие. Другие факторы: репутация отправителя, качество контента, показатели вовлечённости и гигиена базы. Аутентификация помогает пройти первый фильтр; хорошие практики определяют итоговое попадание.
Заключение
Аутентификация email через SPF, DKIM и DMARC больше не является опциональной для бизнеса, который полагается на email-коммуникацию. Эти протоколы защищают бренд от подделки, улучшают доставляемость и строят доверие, необходимое для эффективного email-маркетинга.
Ключевые выводы:
- SPF авторизует серверы-отправители через DNS
- DKIM доказывает подлинность сообщений с помощью криптографических подписей
- DMARC применяет политику и обеспечивает видимость через отчёты
- Начинайте с мониторинга (p=none) перед применением reject
- Все легитимные источники отправки должны быть правильно настроены
- Регулярный мониторинг предотвращает деградацию конфигурации
Для e-commerce на Shopify сочетание надлежащей аутентификации email с интеграцией данных клиентов через Tajo и Brevo создаёт мощный фундамент. Ваши транзакционные письма надёжно достигают клиентов, маркетинговые кампании достигают лучшего попадания во входящие, а бренд защищён от фишинга.
Узнайте, как Tajo интегрируется с Brevo для бесшовной аутентификации email наряду с синхронизацией данных клиентов в реальном времени для вашего магазина Shopify.
Связанные статьи
- Email-маркетинговые кампании: полное руководство по планированию, выполнению и оптимизации
- Стратегия email-маркетинга: полное руководство по планированию и выполнению
- Email-маркетинг для малого бизнеса: полное руководство (2026)
- ROI email-маркетинга: как рассчитывать, отслеживать и улучшать
- Email-маркетинг для начинающих: полное руководство (2026)