Почему письма уходят в спам и при чём тут DNS
Почтовые сервисы — Яндекс, Mail.ru, Gmail, корпоративные серверы — не знают вас лично. Когда приходит письмо с адресом на вашем домене, они проверяют, имеет ли право этот сервер отправлять почту от имени домена и не подделано ли письмо по дороге. Ответы на эти вопросы лежат в DNS-записях домена: MX, SPF, DKIM и DMARC. Если записей нет, они противоречат друг другу или сервер попал в спам-лист, письма попадают в «Спам» или не доходят вовсе.
Типичная ситуация: сайт отправляет заявки и счета, почта работает через Яндекс 360 или другой сервис, а SPF-запись осталась от старого хостинга. Получатель видит письмо от вашего домена, но сервер отправителя в SPF не указан, — и письмо уходит в спам. Проверка показывает такие расхождения за один запуск, без доступа к вашему ящику.
Что проверяем
| Проверка | Что смотрим | Почему важно |
|---|---|---|
| MX-записи | Есть ли MX, на какие серверы указывают, есть ли у этих серверов адреса | Без MX или с неверным MX письма на ваш домен не доходят |
| SPF | Синтаксис, политика ~all, -all или +all, число DNS-запросов, количество SPF-записей | Говорит получателю, каким серверам разрешено отправлять почту от домена |
| DKIM | Публичные ключи по 18 типовым селекторам | Подпись подтверждает, что письмо не подделано и действительно отправлено с домена |
| DMARC | Политика none, quarantine или reject, адрес для отчётов rua | Определяет, что делать с письмами, не прошедшими проверку, и даёт отчёты |
| Обратная запись PTR | Есть ли PTR у вашего собственного почтового сервера | Без обратной записи многие серверы режут почту как подозрительную |
| Спам-листы | Адреса почтовых серверов в Spamhaus ZEN, SpamCop, PSBL | Попадание в список означает массовые отказы в доставке |
SPF: частые ошибки
SPF — это одна TXT-запись, которая начинается с v=spf1 и перечисляет разрешённые источники почты: ip4, ip6, include, a, mx. Заканчивается она правилом для всех остальных: ~all (мягкий отказ — письмо помечается подозрительным), -all (строгий отказ) или +all.
- Несколько SPF-записей. По стандарту у домена должна быть одна запись v=spf1. Если их две — например, одна от хостинга, другая от почтового сервиса, — получатель считает SPF ошибочным целиком. Объедините их в одну.
- Больше 10 DNS-запросов. Механизмы include, a, mx, ptr, exists и redirect требуют DNS-запросов, и вложенные include тоже считаются. Стандарт ограничивает их числом 10. При превышении проверка SPF завершается ошибкой, даже если запись выглядит правильно. Уберите лишние include сервисов, которыми больше не пользуетесь, или замените их адресами ip4.
- +all в конце. Такая запись разрешает отправлять почту от вашего домена любому серверу в интернете. Это хуже, чем отсутствие SPF. Используйте ~all или -all.
- Опечатки и лишние пробелы. Запись spf1 без v=, include без двоеточия, кавычки внутри значения — всё это ломает разбор. Проверка покажет, на каком месте ошибка.
Собрать правильную запись помогает наш генератор SPF, DKIM и DMARC: выберите почтовый сервис и сервисы рассылок, и он подставит нужные include.
DKIM, DMARC и обратная запись
SPF подтверждает сервер, DKIM — само письмо, а DMARC связывает их и говорит получателю, что делать при провале. Для собственного сервера к этому добавляется обратная запись.
DKIM
DKIM-ключ публикуется в DNS под именем вида селектор._domainkey.ваш-домен. Селектор выбирает почтовый сервис, и узнать его снаружи нельзя, если нет готового письма. Поэтому мы перебираем 18 типовых селекторов популярных сервисов. Если ключ не найден, это не всегда значит, что DKIM нет: у вашего сервиса может быть нестандартный селектор. Точный ответ даёт заголовок DKIM-Signature в любом отправленном письме — там указан параметр s=.
DMARC
DMARC — TXT-запись на имени _dmarc.ваш-домен. Политика p=none ничего не блокирует и подходит для начала: вы получаете отчёты и видите, кто отправляет почту от имени домена. После того как все легальные источники проходят SPF или DKIM, политику ужесточают до quarantine (в спам), а затем до reject (отклонять). Параметр rua задаёт адрес, на который почтовые сервисы присылают сводные отчёты. Без rua вы не узнаете, что кто-то рассылает письма от вашего имени.
PTR
Обратная запись нужна, если почта уходит с вашего собственного сервера, например с VPS, где сайт отправляет письма напрямую. PTR настраивается не в DNS домена, а у владельца IP-адреса — хостинга или провайдера, обычно через панель или поддержку. Если вы пользуетесь Яндекс 360, Mail.ru или другим облачным сервисом, PTR их серверов настраивают они сами.
Что делать, если сервер попал в спам-лист
- Найдите причину. Чаще всего это взломанный ящик или форма на сайте, через которую рассылают спам, либо заражённый сервер. Проверьте журнал почтового сервера и смените пароли ящиков.
- Устраните источник. Пока рассылка продолжается, удаление из списка не поможет — адрес вернётся туда за несколько часов.
- Запросите удаление. У Spamhaus, SpamCop и PSBL свои процедуры: у одних адрес выпадает из списка автоматически после прекращения спама, у других нужно отправить запрос на сайте списка.
- Проверьте SPF, DKIM и DMARC. Правильная настройка не выводит из спам-листа, но помогает быстрее восстановить репутацию домена.
Что проверка не делает
- Не отправляет писем и не заходит в ящики. Мы только читаем публичные DNS-записи и запрашиваем спам-листы — так же, как это делает любой почтовый сервер при приёме письма.
- Не проверяет содержание писем. Спам-фильтры оценивают и текст, ссылки, вложения. Если DNS в порядке, а письма всё равно в спаме, причина может быть в самих письмах или в репутации домена.
- Не видит нестандартные DKIM-селекторы. Если ключ не найден по типовым именам, сверьтесь с заголовком отправленного письма.
Проверка бесплатная, лимит — 10 проверок в сутки с одного адреса. Проверяйте свои домены или домены клиентов с их разрешения. Если письма с сайта не уходят совсем, посмотрите статью почему письма с сайта не уходят через SMTP Яндекса, а если нужна надёжная почта для заявок — почта для сайта. Подробно о защите от подделки писем — в статье SPF, DKIM и DMARC для компании. Настройку под ключ мы делаем в рамках услуги корпоративной почты. Заодно проверьте сайт: SSL-сертификат и защитные заголовки и доступность из России и из-за рубежа.
Вопросы и ответы
Как проверить SPF-запись домена?
Введите домен в поле проверки. Мы найдём TXT-запись v=spf1, разберём её, посчитаем DNS-запросы с учётом вложенных include и покажем ошибки: несколько записей, +all, превышение лимита в 10 запросов.
Почему письма уходят в спам, если SPF есть?
SPF может не включать сервер, с которого реально уходит почта, или превышать лимит запросов. Кроме того, получатели смотрят на DKIM, DMARC, обратную запись сервера, спам-листы и содержание письма. Проверка покажет всё, что относится к DNS.
Как узнать DKIM-селектор?
Откройте любое письмо, отправленное с вашего домена, и посмотрите заголовок DKIM-Signature: значение параметра s= и есть селектор. Мы перебираем 18 типовых селекторов, но у вашего сервиса может быть свой.
Какую политику DMARC выбрать?
Начните с p=none и адресом rua для отчётов. Когда по отчётам станет видно, что все легальные отправители проходят проверку, переходите к quarantine, затем к reject.
Можно ли проверить только адрес почты, а не домен?
Да, введите адрес целиком. Мы возьмём из него домен и проверим его записи. В сам ящик мы не заходим и писем на него не отправляем.
Что значит «сервер в спам-листе» и как оттуда выйти?
Адрес почтового сервера внесён в публичный список рассылающих спам. Сначала найдите и устраните источник спама, затем запросите удаление по процедуре конкретного списка.
Проверка бесплатная?
Да, без регистрации. Лимит — 10 проверок в сутки с одного адреса.