SPF, DKIM і DMARC: що це і як налаштувати
Вписати ваш домен у поле «Від кого» може будь-хто: протокол SMTP, яким ходить пошта, цього не перевіряє. Автентифікація пошти — це три DNS-записи, завдяки яким сервер-отримувач перевіряє відправника замість вас. SPF перелічує сервери, яким дозволено надсилати від імені домену, DKIM ставить на кожен лист криптографічний підпис, а DMARC пов'язує обидві перевірки з адресою, яку бачить одержувач, і каже, що робити з листом, якщо перевірку не пройдено.
Без цих записів ваші справжні листи частіше потрапляють у спам, а шахраям легше розсилати листи від вашого імені. Далі — що робить кожен запис, як вони працюють разом і з чого почати.
SPF-запис: кому дозволено надсилати
SPF (Sender Policy Framework) — один TXT-запис на домені зі списком дозволених відправників. Типовий вигляд:
example.com. TXT "v=spf1 ip4:203.0.113.10 include:_spf.google.com ~all"
v=spf1— ознака SPF, завжди на початку.ip4:/ip6:— окремі адреси або діапазони.include:— «довіряй і тим, кого перелічує цей домен». Так підключають Google Workspace, Microsoft 365 чи сервіс розсилок.aіmx— сервери, на які вказують A- та MX-записи домену.~allабо-all— що робити з рештою: м'яка відмова (прийняти, але з підозрою) чи відмова.
Важливий нюанс: SPF перевіряє адресу конверта (Return-Path, яка використовується під час доставки), а не адресу «Від кого» в поштовій програмі. Сервіси розсилок часто ставлять у Return-Path власний домен — SPF проходить, але про ваш домен нічого не доводить. Цю прогалину і закриває DMARC.
Що опубліковано у вашого домену, покаже перевірка SPF: механізми окремо, підсумкове правило та кількість DNS-запитів.
DKIM: підпис на кожному листі
DKIM (DomainKeys Identified Mail) працює як печатка. Сервер-відправник підписує заголовки й текст листа закритим ключем і додає заголовок DKIM-Signature. Отримувач бере відкритий ключ із DNS і перевіряє, що дорогою нічого не змінили. Головне в підписі:
d=— домен, який підписав лист;s=— селектор, ім'я, під яким опубліковано ключ:selector._domainkey.example.com.
Ключ шукають за селектором, тож у домену може бути кілька DKIM-ключів одночасно: для поштового сервісу, для розсилок, для CRM. Докладно про селектори, довжину ключа й ротацію — у статті DKIM: що це, DKIM-запис і селектор. Чи є ключ і якої він довжини, покаже перевірка DKIM.
DMARC: вирівнювання і політика
DMARC — TXT-запис на піддомені _dmarc:
_dmarc.example.com. TXT "v=DMARC1; p=none; rua=mailto:[email protected]"
Він робить три речі:
- Вимагає вирівнювання (alignment). Лист проходить DMARC, лише якщо SPF або DKIM пройшли і домен, для якого вони пройшли, збігається з доменом у видимій адресі «Від кого». Для SPF це домен Return-Path, для DKIM — домен із
d=. За замовчуванням порівняння м'яке:mail.example.comвважається таким, що збігається зexample.com. - Задає політику для листів, які не пройшли:
none(лише звіт),quarantine(у спам) абоreject(відхилити). - Вмикає звіти. Поштові сервіси надсилають на адресу
ruaщоденні зведення — у них видно кожен сервер, що надсилає пошту від вашого домену, зокрема забуті.
Усі теги, перехід від p=none до p=reject і читання звітів розібрано в статті DMARC-запис: як налаштувати DMARC покроково.
Як SPF, DKIM і DMARC працюють разом
| SPF | DKIM | DMARC | |
|---|---|---|---|
| Де розміщено | TXT на домені | TXT (або CNAME) на selector._domainkey | TXT на _dmarc |
| Що перевіряє | IP відправника за списком | Підпис за відкритим ключем | Що SPF або DKIM пройшли для домену «Від кого» |
| Переживає пересилання | Зазвичай ні | Зазвичай так, якщо лист не змінювали | Так, якщо вціліла хоча б одна вирівняна перевірка |
| Сам захищає від підробки | Ні | Ні | Так, за quarantine або reject |
Практичний висновок: DKIM — надійніша половина, бо переживає пересилання. Домагайтеся, щоб кожен потік справжньої пошти проходив вирівняний DKIM, а SPF тримайте як другу лінію.
Що вимагають Gmail і Yahoo
З лютого 2024 року Google і Yahoo застосовують опубліковані вимоги до відправників, і інші великі поштові сервіси рухаються в той самий бік. Коротко:
- Усім, хто пише на особисті скриньки Gmail і Yahoo, потрібні SPF або DKIM, коректні пряма й зворотна DNS-записи для IP відправлення, TLS і низька частка скарг на спам.
- Масовим відправникам (Google називає поріг близько 5000 листів на день своїм користувачам) потрібні SPF і DKIM, DMARC-запис щонайменше з
p=none, домен «Від кого», вирівняний із SPF або DKIM, і відписка в один клік для рекламних листів.
Чек-лист налаштування
- Складіть список усіх, хто надсилає пошту від домену: поштовий сервіс, форма на сайті, розсилки, CRM, служба підтримки, білінг. Забуті відправники — головна причина, чому впровадження DMARC ламає пошту.
- Опублікуйте один SPF-запис із сервісами, що використовують ваш домен у Return-Path. Вкладіться в 10 DNS-запитів.
- Увімкніть DKIM у кожному сервісі з вашим доменом, а не доменом провайдера. Сервіс видасть TXT- або CNAME-запис для публікації.
- Опублікуйте DMARC з
p=noneі адресоюrua, яку хтось читає, або адресою сервісу розбору звітів. - Читайте звіти 2–4 тижні і виправте кожне справжнє джерело, що не проходить вирівнювання.
- Посилюйте політику поступово: quarantine, потім reject.
- Перевірте оточення: перевірка MX покаже, куди приймається пошта, а перевірка IP за чорними списками — чи не потрапила адреса відправлення до спам-баз. Решта записів домену — у статті перевірка DNS-записів домену.
Типові помилки
Два SPF-записи
Під час підключення нового сервісу часто додають другий запис v=spf1 поруч зі старим. За стандартом це постійна помилка, і багато отримувачів тоді ігнорують SPF повністю. Запис має бути рівно один — об'єднайте механізми в ньому.
Понад 10 DNS-запитів
Кожен include, a, mx, ptr, exists і redirect коштує одного запиту, і вкладені include теж рахуються. Понад 10 — постійна помилка. Приберіть сервіси, якими не користуєтеся, замініть a/mx на явні IP, якщо вони стабільні, і не використовуйте ptr.
Сторонні відправники без DKIM
Google Workspace, Microsoft 365, Mailchimp і схожі сервіси вміють підписувати листи вашим доменом, але зазвичай лише після того, як ви опублікуєте їхні DKIM-записи й увімкнете підпис. До того вони підписують своїм доменом або не підписують зовсім, і лист не проходить вирівнювання DMARC.
p=reject у перший же день
Одразу поставити reject, не читаючи звітів, — означає заблокувати всіх забутих відправників: систему рахунків, форму на сайті, партнера, який пише від вашого імені. Почніть з p=none, зберіть дані й лише потім посилюйте.
Домени, з яких пошта не йде
Припарковані й запасні домени охоче підробляють саме тому, що за ними ніхто не стежить. Для домену без пошти опублікуйте v=spf1 -all і v=DMARC1; p=reject.
Живий приклад
Наш домен публікує v=DMARC1; p=none; rua=mailto:[email protected] і підписує листи DKIM-ключем завдовжки 2048 біт із селектором mail (перевірено в жовтні 2026). Це нормальна стадія спостереження: звіти збираються, політику посилюють, коли всі джерела підтверджено. Перевірте свій домен у перевірці DMARC, щоб зрозуміти, де ви зараз.