З 2024 року великі поштові сервіси вимагають від масових відправників автентифікації через SPF і DKIM та опублікованої політики DMARC. Навіть для невеликих відправників зламаний запис — найкоротший шлях у теку «Спам». Три механізми відповідають на три різні запитання.

SPF: чи дозволено цьому серверу надсилати від імені домену?

SPF — це TXT-запис у DNS вашого домену відправника з переліком серверів, яким дозволено надсилати від його імені. Сервер-отримувач дивиться на адресу конверта (Return-Path, а не видиме поле From) і перевіряє, чи є IP-адреса з'єднання у списку. Типові причини помилок: додали новий сервіс надсилання без оновлення запису, запис перевищив ліміт у десять DNS-запитів або пересилання змінило IP з'єднання.

DKIM: чи не змінювали лист після підписання?

DKIM додає криптографічний підпис до вибраних заголовків і тіла листа. Відкритий ключ лежить у DNS під селектором. Якщо підпис перевірено, отримувач знає, що лист підписав домен із підпису і що його не змінювали. Помилки зазвичай виникають через відсутній або змінений ключ, підпис розсилки, доданий після підписання, або сервіс, що підписує власним доменом замість вашого.

DMARC: що робити отримувачу і чи збігається домен із From?

DMARC поєднує обидва механізми. Він перевіряє, чи пройшов хоча б один із SPF або DKIM і чи вирівняний домен, що пройшов, із доменом у видимому заголовку From. Далі він каже отримувачу, що робити при невдачі: p=none (спостерігати), p=quarantine (у спам) або p=reject. DMARC також надсилає вам агрегатні звіти про те, хто надсилає листи від імені вашого домену.

Вирівнювання — саме те місце, де закінчуються розмови «але ж SPF проходить». Якщо ваш сервіс розсилок надсилає зі своїм Return-Path і підписує власним DKIM-доменом, SPF і DKIM проходять для домену сервісу, а DMARC для вашого все одно не проходить.

Читання вердиктів у тесті

Коли лист надходить, сервер-отримувач записує свої висновки в заголовок Authentication-Results, наприклад:

Authentication-Results: mx.google.com;
  dkim=pass header.i=@example.com;
  spf=pass smtp.mailfrom=example.com;
  dmarc=pass (p=REJECT) header.from=example.com

Mailproof витягує ці вердикти для кожної тестової скриньки, щоб ви одразу бачили, чи прийняв кожен сервіс вашу автентифікацію. softfail, temperror чи none заслуговують на увагу, навіть якщо лист усе ж потрапив у вхідні: сьогодні репутація витягне лист, а завтра — ні.

Контрольний список

  • Один SPF-запис на домен, менше десяти DNS-запитів, закінчення -all або ~all.
  • Ключі DKIM щонайменше 2048 біт, ротація при зміні працівників чи підрядників.
  • DMARC-запис на організаційному домені: спочатку p=none зі звітами, потім quarantine і reject, коли звіти чисті.
  • Власні домени Return-Path і DKIM у кожному сторонньому сервісі, щоб усе вирівнювалося з вашим доменом From.