Доставлюваність · 7 хв читання
SPF, DKIM і DMARC за десять хвилин
Три DNS-записи, від яких залежить, чи потрапить ваш лист у вхідні, чи в спам. Що робить кожен із них, як налаштувати їх у Google Workspace і Microsoft 365 та як перевірити, що все працює.
Ви можете написати найкращий лист у своєму житті, і його ніхто не прочитає. Не тому, що тема слабка, а тому, що сервер-одержувач не знає, чи справді його надіслали ви, і про всяк випадок відправляє його в спам.
Щоб розвіяти цей сумнів, існують три записи, які публікують у DNS вашого домену: SPF, DKIM і DMARC. Із 2024 року Gmail і Yahoo вимагають їх від усіх, хто надсилає листи їхнім користувачам, а з 2025 року — і Outlook. Добра новина: налаштовують їх один раз, приблизно за десять хвилин, і більше до них повертатися не потрібно. У цій статті пояснюємо, що робить кожен запис, як налаштувати їх у Google Workspace і Microsoft 365 та як перевірити, що все працює.
Проблема: будь-хто може вписати вашу адресу
Електронну пошту створювали в часи, коли ніхто не думав про підробку відправника. Протокол дозволяє будь-якому серверу надіслати лист із рядком «Від: olena@vashakompaniia.ua» — так само як будь-хто може написати вашу адресу як зворотну на конверті.
SPF, DKIM і DMARC — це спосіб довести, що конверт справді ваш. Кожен відповідає на своє запитання:
- SPF: чи має цей сервер дозвіл надсилати листи від імені цього домену?
- DKIM: чи підписаний лист доменом і чи не змінили його дорогою?
- DMARC: якщо щось із цього не пройшло, що має зробити одержувач? І кому про це повідомити?
Добра аналогія — рекомендований лист: SPF — це перелік поштових відділень, яким дозволено надсилати листи від вашого імені, DKIM — сургучна печатка, а DMARC — інструкції, які ви залишаєте у відділенні призначення на випадок, якщо прийде лист без печатки.
SPF: хто може надсилати від вашого імені
SPF (Sender Policy Framework) — це текстовий запис (TXT) у вашому домені з переліком серверів, які можуть надсилати листи від його імені. Коли надходить лист, сервер-одержувач дивиться, звідки він прийшов, і порівнює це з переліком.
Запис SPF виглядає так:
v=spf1 include:_spf.google.com ~all
v=spf1означає, що це запис SPF.include:_spf.google.comдозволяє надсилання серверам Google Workspace. Для Microsoft 365 це будеinclude:spf.protection.outlook.com.~allкаже, що будь-який інший сервер «імовірно, не» має дозволу (м’яка відмова). З-allвідмова сувора.
Три типові помилки:
- Два записи SPF. На домен може бути лише один. Якщо ви користуєтеся Google Workspace і ще сервісом для виставлення рахунків, який надсилає листи, обидва
includeмають бути в одному записі:v=spf1 include:_spf.google.com include:inshyiservis.com ~all. - Понад десять запитів. Кожен
include— це DNS-запит, а деякі ще й містять інші всередині. Стандарт обмежує їх кількість десятьма; якщо більше, перевірка не проходить. - Забутий сервіс. Якщо ви надсилаєте листи із сервера, якого немає в переліку (ваш сайт, CRM, інструмент для пошуку клієнтів із власним SMTP), ці листи не пройдуть SPF.
DKIM: підпис кожного листа
DKIM (DomainKeys Identified Mail) додає до кожного листа цифровий підпис. Ваш провайдер підписує лист приватним ключем, який є лише в нього, а ви публікуєте в DNS публічний ключ, щоб будь-хто міг перевірити підпис. Якщо хтось дорогою змінить у листі бодай кому, підпис перестане збігатися.
На відміну від SPF, ключ DKIM ви не вигадуєте самі: його генерує ваш поштовий провайдер, а ви лише копіюєте його в DNS.
- Google Workspace: у консолі адміністратора перейдіть до Apps › Google Workspace › Gmail › Authenticate email, згенеруйте ключ на 2048 біт і скопіюйте TXT-запис, який отримаєте, з іменем
google._domainkey. Потім поверніться до консолі й натисніть Start authentication. - Microsoft 365: на порталі Microsoft Defender у налаштуваннях DKIM для вашого домену ви побачите два записи CNAME (
selector1._domainkeyіselector2._domainkey). Створіть їх у своєму DNS і ввімкніть підпис.
Частина перед ._domainkey називається селектором. Завдяки йому один домен може мати кілька ключів, наприклад один для Google, а інший — для сервісу виставлення рахунків.
DMARC: що робити, коли щось не пройшло
SPF і DKIM перевіряють, але не кажуть, що робити, якщо перевірка не пройшла. Це визначає DMARC (Domain-based Message Authentication, Reporting and Conformance), і він додає важливу умову — вирівнювання (alignment). Недостатньо, щоб лист пройшов SPF або DKIM: домен, який їх пройшов, має збігатися з тим, що одержувач бачить у полі «Від:».
Запис DMARC — це ще один TXT з іменем _dmarc у вашому домені:
v=DMARC1; p=none; rua=mailto:dmarc@vashakompaniia.ua
p=— це політика:none(нічого не роби, лише повідом мене),quarantine(відправ у спам) абоreject(відхили).rua=— адреса, на яку великі провайдери щодня надсилають вам звіти про те, хто надсилає листи від імені вашого домену і чи проходять вони перевірки.
Як рухатися далі, нічого не зламавши:
- Почніть із
p=noneі адресиrua. Це мінімум, якого вимагають Google, Yahoo та Microsoft. - Кілька тижнів переглядайте звіти (є безкоштовні сервіси, які перетворюють їх на щось читабельне). Шукайте легітимні сервіси, які не проходять перевірку: сайт, що надсилає форми, сервіс для рахунків, розсилку.
- Коли все легітимне проходитиме, переходьте на
p=quarantine, а згодом — наp=reject. Відтоді тому, хто спробує видати себе за ваш домен, буде дуже складно.
Чого вимагають Gmail, Yahoo та Outlook
З лютого 2024 року Google і Yahoo вимагають від усіх відправників SPF або DKIM. Від тих, хто надсилає понад 5 000 листів на день на акаунти Gmail, додатково вимагають SPF, DKIM і DMARC (достатньо p=none), вирівнювання з доменом у полі «Від:», відписку в один клік і частку скарг на спам нижче 0,3 %. З травня 2025 року Outlook вимагає того самого від відправників великих обсягів.
Якщо ви шукаєте клієнтів через холодні листи зі своєї скриньки, то, найімовірніше, не надсилаєте 5 000 на день. Але фільтри не лише застосовують правила: вони ще й оцінюють довіру. Домен із трьома правильно налаштованими записами має перевагу над доменом без них, навіть якщо надсилає мало.
Як перевірити, що все працює
Найпростіший спосіб не потребує жодних інструментів:
- Надішліть собі лист зі своєї скриньки на акаунт Gmail.
- Відкрийте його, натисніть три крапки й виберіть Показати оригінал.
- Угорі ви побачите три рядки: SPF: PASS, DKIM: PASS і DMARC: PASS. Якщо в якомусь написано FAIL або його немає, ви знаєте, що перевіряти.
Зважайте, що зміни в DNS можуть поширюватися від кількох хвилин до кількох годин. Якщо ви щойно створили запис і перевірка не проходить, зачекайте трохи, перш ніж щось змінювати.
Список на десять хвилин
- Один запис SPF з усіма сервісами, які надсилають листи від вашого імені.
- DKIM, згенерований у вашого провайдера (Google Workspace або Microsoft 365), опублікований у DNS і ввімкнений.
- Запис DMARC у
_dmarcзp=noneі адресоюruaдля звітів. - Перевірка через «Показати оригінал» у Gmail: три PASS.
- За кілька тижнів — переглянути звіти й перейти на
quarantine.
Тепер лист, на який ви витратили стільки зусиль, має принаймні шанс, що його хтось прочитає.
Джерела
- Google. Вимоги до відправників електронної пошти.
- Yahoo. Рекомендації для відправників (Sender Hub).
- Microsoft. Strengthening Email Ecosystem: Outlook’s New Requirements for High-Volume Senders (2025).
- IETF. RFC 7208: Sender Policy Framework (SPF).
- IETF. RFC 6376: DomainKeys Identified Mail (DKIM) Signatures.
- IETF. RFC 7489: Domain-based Message Authentication, Reporting, and Conformance (DMARC).
Часті запитання
Чи потрібні всі три записи, якщо я надсилаю небагато листів?
Google і Yahoo вимагають SPF або DKIM від будь-якого відправника, а всі три — від тих, хто надсилає багато. Але навіть якщо ви надсилаєте мало, налаштування всіх трьох займає десять хвилин, і саме це змушує фільтри довіряти вашому домену. Немає жодної причини пропускати якийсь із них.
Чи можна мати два записи SPF?
Ні. У домену може бути лише один запис SPF; якщо їх два, перевірка завершується помилкою, і це те саме, що не мати жодного. Якщо ви користуєтеся кількома сервісами, усі вони об’єднуються в одному записі з кількома «include».
Скільки часу потрібно, щоб зміни запрацювали?
Зазвичай від кількох хвилин до кількох годин, залежно від часу кешування (TTL) у вашого DNS-провайдера. У рідкісних випадках це може тривати до 48 годин. Якщо наступного дня все ще не працює, перевірте, чи запис створено з правильним іменем.
Чи захищає мене p=none від чогось?
Сам по собі — ні: він каже одержувачу нічого не робити, якщо перевірка не пройшла. Але він вмикає звіти й виконує вимогу Google, Yahoo та Microsoft. Це перший крок; коли звіти будуть чистими, можна переходити до quarantine.