Если письма с собственного сервера то не доходят, то попадают в спам, почти всегда причина в «доверии» к домену (DNS‑аутентификация отправителя и корректная политика DMARC). Практический минимум для нормальной доставляемости это связка SPF + DKIM + DMARC, а уже потом антиспам и репутация IP.
Что понадобится
- Домен, с которого отправляются письма, и доступ к DNS‑записям (A/MX/TXT).
- Рабочий Postfix (отправка писем наружу).
- DKIM-ключ (если DKIM ещё не настроен — сначала поднимите его).
Шаг 1. Настройте SPF (TXT)
SPF отвечает на вопрос: «какие сервера имеют право отправлять почту от имени домена». В DNS добавляется TXT‑запись для корня домена (или поддомена, если отправка идёт с него).
Пример минимальной SPF-записи (если отправляет только ваш сервер по A‑записи домена):
v=spf1 a mx ~all
Если отправляет конкретный IP:
v=spf1 ip4:YOUR_SERVER_IP ~all
Рекомендации:
- Начинайте с
~all(softfail), чтобы не «уронить» доставку при ошибках, затем можно ужесточать до-all. - У домена должна быть одна SPF TXT-запись, не делайте несколько — это частая ошибка.
Шаг 2. Проверьте DKIM (подпись писем)
DKIM подтверждает, что письмо действительно подписано вашим доменом, и его не изменили по дороге. По сути это «цифровая подпись» на уровне заголовков письма, построенная на асинхронном шифровании.
Что проверить быстро:
- В исходниках доставленного письма должен быть заголовок
DKIM-Signature. - В заголовках часто появляется
Authentication-Results, где видноdkim=pass/fail(формат зависит от принимающего сервера).
Если DKIM «иногда pass, иногда fail», то типовая причина в том, что часть писем уходит через другой исходящий сервер (relay/SMTP у сайта/приложения). Проверьте, откуда реально отправляются письма (логи Postfix).
Шаг 3. Добавьте DMARC (TXT) — и делайте rollout безопасно
DMARC связывает SPF и DKIM и говорит получателю: «что делать, если проверка не прошла». Главная ошибка новичков — сразу ставить p=reject и получать внезапные отказы доставки. Правильнее раскатывать DMARC постепенно.
Стартовая DMARC-запись (мягкий режим, сбор отчётов):
- Host/Name:
_dmarc - TXT value:
v=DMARC1; p=none; rua=mailto:dmarc@YOURDOMAIN; adkim=s; aspf=s; fo=1; pct=100
Пояснения:
p=none— ничего не блокируем, только наблюдаем.rua=— куда будут приходить агрегированные отчёты (XML).adkim/aspf— режим выравнивания (alignment). Строгие значения полезны, но требуют аккуратности (чтобы домены реально совпадали).
Через 1–2 недели, когда видно что всё «pass», обычно переходят на p=quarantine, затем p=reject (по ситуации).
Шаг 4. Научитесь читать DMARC отчёты (RUA), чтобы понимать, что ломается
Агрегированные отчёты DMARC приходят в виде XML и показывают статистику: кто отправлял, с каких IP, и что прошло/не прошло SPF/DKIM/DMARC. Это лучший способ найти «теневых отправителей» — CRM, формы сайта, сторонние SMTP, рассыльщики, которые шлют от вашего домена и т.д.
Что искать в отчётах в первую очередь:
- Неизвестные IP‑адреса отправителей (значит письма идут не только с вашего сервера).
dkim=failприspf=pass(или наоборот): часто проблема в домене Return-Path/From, селекторе DKIM или в том, что письмо меняет промежуточный сервис.- Резкие всплески fail — повод проверить компрометацию/спуфинг.
Если отчёты неудобно разбирать руками, можно подключить любой парсер/агрегатор DMARC-репортов (хотя бы временно) — логика остаётся той же: найти источники fail и привести их к pass.
Шаг 5. Быстрый чек‑лист «письма в спаме»
Если SPF/DKIM/DMARC настроены, но всё равно проблемы:
- Проверьте PTR (reverse DNS) на IP сервера и соответствие имени хоста (часто влияет на доверие).
- Проверьте TLS на исходящей почте (получатели любят «аккуратные» TLS‑конфиги).
- Проверьте контент. Если сайт шлет короткие письма со ссылками, трекингом и «маркетинговыми» словами, то эти письма вероятно триггерят фильтры даже при pass‑аутентификации. Переработайте структуру писем магазина, добавьте информации и контента.