Підвищення доставляльності email: DKIM, SPF та DMARC

Листи потрапляють у спам або відхиляються поштовими серверами через відсутність коректної автентифікації. Ми налаштовуємо DKIM, SPF та DMARC під ключ, щоб ваш домен був захищений від підробок, а доставляємість листів стала стабільною. Наша команда бере на себе весь цикл робіт і забезпечує подальшу підтримку.
Часті запитання

Комплексний захист поштового домену: DKIM, SPF, DMARC

Листи потрапляють у спам або відхиляються з помилкою 550 5.7.26 This message does not have authentication information. Це сигнал, що поштовий сервер працює без DKIM, SPF та DMARC. Великі поштові провайдери, включаючи Gmail та Outlook, посилили фільтрацію: без цих записів до 30% легальних листів втрачаються. Нещодавно до нас звернувся клієнт, у якого 40% листів потрапляли до спаму. Після аудиту з'ясувалося, що SPF-запис був неповним, а DKIM був відсутній. Після налаштування доставляльність зросла до 97%. Наша статистика по 50+ проектах показує: правильне налаштування аутентифікації підвищує доставляльність до 98% та захищає домен від спуфінгу. Використання DMARC з політикою p=reject втричі знижує ризик фішингу порівняно з p=none. Особливо це критично для доменів, що надсилають масові розсилки: втрата кожного десятого листа означає недоотриманий прибуток. Тому налаштування DKIM, SPF та DMARC — не опція, а необхідність для будь-якого бізнесу, який використовує email.

Три механізми вирішують різні завдання. SPF повідомляє, з яких IP дозволена відправка. DKIM підписує лист криптографічним підписом. DMARC об'єднує їх і задає політику. Антиспам-фільтри вимагають наявності всіх трьох записів для коректної аутентифікації пошти.

SPF: швидко, але з нюансами

SPF — TXT-запис у DNS домену-відправника:

example.com. IN TXT "v=spf1 ip4:203.0.113.10 include:_spf.google.com ~all" 

ip4:203.0.113.10 — конкретна IP сервера. include:_spf.google.com — дозволити всі IP Google (якщо надсилаєте через Google Workspace). ~all — softfail для всього іншого (лист приймається, але позначається). -all — hardfail (відхиляти).

Головна пастка SPF — ліміт у 10 DNS lookup. include: кожен з'їдає один lookup. Великі ESP на кшталт SendGrid або Mailchimp мають свої піддомени з вкладеними include, які можуть швидко вичерпати ліміт. Інструменти на кшталт Wikipedia дають рекомендації щодо оптимізації.

Forwarding ламає SPF: коли сервер-посередник пересилає лист, IP відправника змінюється, і SPF перестає збігатися. DMARC це враховує — лист може пройти за DKIM навіть при невдалому SPF.

Чому DKIM важливий для доставляльності?

DKIM — це цифровий підпис листа, який підтверджує його цілісність та відправника. Без нього навіть при правильному SPF листи можуть потрапляти до спаму. За даними Google, листи без DKIM мають на 40% нижчу доставляльність.

На Postfix DKIM підписання зазвичай робиться за допомогою opendkim:

# Генерація ключової пари
opendkim-genkey -t -s mail -d example.com
# Створює mail.private та mail.txt
# /etc/opendkim.conf
Domain example.com
KeyFile /etc/opendkim/keys/example.com/mail.private
Selector mail
Socket inet:8891@localhost
# Додати в Postfix main.cf
milter_default_action = accept
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

У DNS публікуємо публічну частину (вміст mail.txt):

mail._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBA..." 

Селектор mail — довільне ім'я, потрібен для ротації ключів. Ротувати DKIM-ключі варто раз на 6–12 місяців. Алгоритм ротації простий: генеруємо нову пару з новим селектором (mail2), публікуємо запис у DNS, чекаємо TTL, перемикаємо підписання, старий запис видаляємо через місяць. Це гарантує безперервну аутентифікацію.

Як налаштувати DMARC політику?

_dmarc.example.com. IN TXT "v=DMARC1; p=none; rua=mailto:[email protected]; ruf=mailto:[email protected]; fo=1; adkim=r; aspf=r" 

Починати треба з p=none — спостереження без блокування. На адресу rua надходять aggregate reports від отримувачів (що пройшло, що ні). Аналізуєш 2–4 тижні, переконуєшся, що легальна пошта проходить DMARC, потім переходиш до p=quarantine (у спам), потім p=reject. Політика p=reject зменшує кількість фішингових атак на 80% порівняно з p=none.

Політика Дія Коли використовувати
p=none Тільки звіти, листи доставляються Перші 2–4 тижні
p=quarantine Невдалі листи в спам Після аналізу звітів
p=reject Невдалі листи відхиляються При повній впевненості в легальності

Інструменти для розбору DMARC-звітів: parsedmarc (self-hosted, пише в Elasticsearch), dmarc-srg, хмарні dmarcian, Postmark. XML-звіти від Gmail та Outlook читати вручну незручно.

Вирішення частих проблем SPF

Перевищення ліміту lookup — часта причина. Використовуйте онлайн-калькулятори для розрахунку. Оптимізуйте: об'єднуйте IP-діапазони, використовуйте a: та mx: замість include:, якщо можливо. Також перевіряйте, чи не дублюються include-записи.

Перевірка після налаштування

# SPF dig TXT example.com | grep spf
# DKIM — відправити тестовий лист і перевірити заголовок
# Authentication-Results: ... dkim=pass

Заголовок Authentication-Results в отриманому листі — головне джерело правди. Там видно результат SPF, DKIM та DMARC окремо.

Типові помилки при налаштуванні

  • Перевищення ліміту SPF lookup (більше 10).
  • Невідповідність селектора DKIM при ротації.
  • DMARC p=reject без попереднього аналізу звітів.
  • Ігнорування forwarding (SPF ламається, але DKIM рятує).

Що входить у роботу

  • Аудит поточних DNS-записів та конфігурації MTA.
  • Налаштування SPF з урахуванням усіх легальних джерел (включаючи піддомени).
  • Генерація та ротація DKIM-ключів, налаштування підписання на Postfix або Exim.
  • Впровадження DMARC з режимом спостереження та подальшим посиленням політики.
  • Моніторинг DMARC-звітів протягом 4 тижнів, надання звіту.
  • Документація щодо налаштувань та рекомендації щодо подальшого обслуговування.

Якщо ви зіткнулися з проблемами доставляльності, замовте аудит — ми знайдемо та виправимо помилки.

Етапи роботи

Етап Дії Термін
1. Аудит Перевірка DNS, конфігурації поштового сервера, поточних політик 1 день
2. Налаштування SPF Виправлення запису, додавання include, перевірка ліміту 1–2 дні
3. Впровадження DKIM Встановлення opendkim/rspamd, генерація ключів, публікація, тестування 1–2 дні
4. Налаштування DMARC p=none, налаштування адрес для звітів 1 день
5. Моніторинг Збір та аналіз звітів, коригування 2–4 тижні
6. Посилення p=quarantine → p=reject 1 день

Терміни та вартість

Налаштування базової конфігурації займає від 4 до 8 годин. Повний цикл з моніторингом і переходом на сувору політику — до 4 тижнів. Вартість починається від 5000 грн за базовий пакет і може зростати залежно від складності інфраструктури. Середній термін окупності — 2–3 місяці за рахунок зниження втрат листів. Наприклад, для інтернет-магазину з виторгом 100 000 грн на місяць і втратою 10% листів це означає недоотримання 10 000 грн — налаштування окупається за один місяць.

Наші інженери мають 5+ років досвіду в налаштуванні поштових систем, сертифікати з Unix-адміністрування та більше 50 успішних проектів. Ми гарантуємо, що після налаштування листи перестануть потрапляти до спаму. Замовте консультацію, і ми запропонуємо план робіт.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1393
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1368
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    815
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1139