SPF, DKIM и DMARC: полное руководство по аутентификации email

Освойте аутентификацию email с помощью этого подробного руководства по SPF, DKIM и DMARC. Как работает каждый протокол, настройка DNS-записей, устранение типичных проблем и улучшение доставляемости.

SPF DKIM DMARC
SPF, DKIM и DMARC?

Аутентификация 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:

  1. Вы отправляете письмо с маркетинговой платформы
  2. Принимающий сервер извлекает ваш домен из Return-Path (конверт отправителя)
  3. Сервер запрашивает DNS для SPF-записи вашего домена
  4. Сравнивает IP отправки со списком авторизованных в SPF-записи
  5. Сервер фиксирует результат: pass, fail, softfail или neutral

Синтаксис SPF-записи

SPF-записи публикуются как TXT-записи в DNS вашего домена. Базовая структура:

v=spf1 [mechanisms] [qualifier]all

Тег версии: всегда начинается с v=spf1

Механизмы: определяют, кто может отправлять

МеханизмОписаниеПример
include:Доверять SPF другого доменаinclude:spf.brevo.com
ip4:Авторизовать конкретный IPv4ip4:192.168.1.1
ip6:Авторизовать конкретный IPv6ip6: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
Brevoinclude:spf.brevo.com
Google Workspaceinclude:_spf.google.com
Microsoft 365include:spf.protection.outlook.com
Amazon SESinclude:amazonses.com
SendGridinclude:sendgrid.net
Mailguninclude:mailgun.org

Шаг 3: Создайте SPF-запись

v=spf1 include:spf.brevo.com include:_spf.google.com -all

Шаг 4: Добавьте DNS-запись

В интерфейсе управления DNS:

  • Тип: TXT
  • Хост/Имя: @ (или оставьте пустым для корневого домена)
  • Значение: ваша полная SPF-запись
  • TTL: 3600 (или по умолчанию)

Шаг 5: Проверьте запись

Terminal window
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 -all
v=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 использует криптографию с публичным ключом:

  1. Ваш email-провайдер генерирует пару публичного/приватного ключей
  2. Вы публикуете публичный ключ в DNS
  3. Провайдер подписывает исходящие письма приватным ключом
  4. Принимающие серверы получают ваш публичный ключ из DNS
  5. Используют публичный ключ для проверки подписи
  6. Действительная подпись доказывает подлинность и целостность

Что подписывает 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:

  1. Перейдите в Настройки > Отправители, домены и выделенные IP
  2. Выберите ваш домен
  3. Перейдите в раздел DKIM
  4. Скопируйте предоставленную DNS-запись

Для собственных почтовых серверов сгенерируйте ключи с помощью OpenSSL:

Terminal window
openssl genrsa -out private.key 2048
openssl 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 добавляет две ключевые возможности:

  1. Применение политики: определите, как получатели должны обрабатывать сбои аутентификации
  2. Отчётность: получайте данные о том, кто отправляет email с вашего домена

Процесс верификации DMARC:

  1. Принимающий сервер получает письмо, якобы от вашего домена
  2. Проверяет SPF (совпадает ли IP отправки?)
  3. Проверяет DKIM (действительна ли подпись?)
  4. Проверяет выравнивание DMARC (совпадают ли аутентифицированные домены с заголовком From?)
  5. При сбое выравнивания применяет вашу политику DMARC
  6. Отправляет вам сводные и/или криминалистические отчёты

Выравнивание 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=Режим выравнивания DKIMr (relaxed)
aspf=Режим выравнивания SPFr (relaxed)

Объяснение политик DMARC

p=none (только мониторинг):

Никаких действий при сбоях. Письма доставляются нормально. Используйте при анализе отчётов и устранении проблем.

v=DMARC1; p=none; rua=mailto:[email protected]

p=quarantine (папка спама):

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

v=DMARC1; p=quarantine; rua=mailto:[email protected]; pct=100

p=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: постепенно применяйте политику

  1. Перейдите к p=quarantine; pct=10
  2. Увеличьте pct до 25, 50, 75, 100
  3. Перейдите к p=reject; pct=10
  4. Увеличьте до полного отклонения

Настройка DNS-записей: полное пошаговое руководство

Необходимые значения

Для SPF:

  • Все include-выражения (например, include:spf.brevo.com)
  • Конкретные IP-адреса для авторизации

Для DKIM:

  • Имя селектора (например, brevo, google, s1)
  • Полное значение DKIM-ключа

Для DMARC:

  • Ваш email-адрес для отчётов

Добавление записей в Cloudflare

  1. Войдите в Cloudflare Dashboard
  2. Выберите домен
  3. Перейдите в DNS > Records
  4. Нажмите Add Record
  5. Для SPF: Type=TXT, Name=@, Content=ваша SPF-запись
  6. Для DKIM: Type=TXT, Name=selector._domainkey, Content=DKIM-ключ
  7. Для DMARC: Type=TXT, Name=_dmarc, Content=DMARC-запись

Пример полной настройки

Для домена, использующего Brevo и Google Workspace:

SPF-запись (TXT на @):

v=spf1 include:spf.brevo.com include:_spf.google.com -all

DKIM-запись для Brevo (TXT на brevo._domainkey):

v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBA... [ключ из панели Brevo]

DMARC-запись (TXT на _dmarc):

v=DMARC1; p=none; rua=mailto:[email protected]

Проверка через командную строку

Terminal window
# Проверить SPF
dig TXT yourdomain.com
# Проверить DKIM
dig TXT selector._domainkey.yourdomain.com
# Проверить DMARC
dig 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

  1. Войдите в аккаунт Brevo
  2. Перейдите в Настройки > Отправители, домены и выделенные IP
  3. Нажмите «Добавить домен»
  4. Введите имя домена

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.

Связанные статьи

Frequently Asked Questions

Что такое SPF, DKIM и DMARC?
SPF проверяет серверы-отправители, DKIM добавляет цифровую подпись к письмам, а DMARC указывает получателям, как обрабатывать неаутентифицированные сообщения. Вместе они аутентифицируют ваши письма и защищают от подделки.
Нужны ли все три (SPF, DKIM, DMARC)?
Да. Google и Yahoo теперь требуют SPF и DKIM для всех отправителей, и DMARC для тех, кто отправляет более 5 000 писем/день. Все три вместе обеспечивают наилучшую доставляемость и безопасность.
Как настроить SPF, DKIM и DMARC?
Добавьте DNS-записи к домену: SPF как TXT-запись со списком авторизованных отправителей, DKIM как TXT-запись с публичным ключом, DMARC как TXT-запись с вашей политикой. Ваша email-платформа предоставит конкретные значения.
Начните бесплатно с Brevo