Письма попадают в спам: причины и как это исправить

Письма попадают в спам: причины и как это исправить

Письма попадают в спам по пяти причинам, и проверять их стоит в таком порядке: домен не аутентифицирован (нет или сломаны SPF, DKIM, DMARC), у домена или IP плохая или пустая репутация, в письме есть подозрительные ссылки, оформление похоже на спам, а получатели не ждали этих писем и жмут «Это спам». Первые две причины встречаются чаще остальных и проверяются за десять минут. Содержание письма обычно оказывается последним, хотя начинают почему-то с него.

Эта статья для отправителя: владельца сайта, интернет-магазина или сервиса, чьи письма клиентам оказываются в спаме у Яндекса, Mail.ru или Gmail. Ниже — как установить причину по служебным заголовкам письма, что исправить по каждой из причин и чем отличается поведение российских почтовых сервисов.

Сначала отличите спам от отказа

У почтового сервера получателя два способа сказать «нет», и лечатся они по-разному.

Попадание в папку «Спам». Сервер принял письмо, ответил 250 OK, и уже фильтр внутри почтового сервиса положил его в «Спам». Вы об этом не узнаете: никакого уведомления не придёт, сервис отправки покажет «доставлено».

Отказ при приёме. Сервер отклонил письмо прямо в SMTP-сессии, например ответом 550 5.7.1 Message rejected under suspicion of SPAM. Письма нет ни во «Входящих», ни в «Спаме», а отправитель получает уведомление о недоставке или видит ошибку в журнале.

Если у вас второй случай, начните со страницы конкретной ошибки: отказ Яндекса по подозрению в спаме, отказ Mail.ru или письмо, похожее на нежелательное, у Gmail. Причины у отказа те же, что и у папки «Спам», только сервер увереннее в своём решении.

Почему письма попадают в спам: как найти причину за десять минут

Отправьте письмо в том виде, в каком его получают клиенты, на свои ящики в Gmail, Яндексе и Mail.ru. Найдите его (во «Входящих» или в «Спаме») и откройте исходный текст письма: в Gmail это «Показать оригинал», в Яндексе — «Свойства письма», в Mail.ru — «Служебные заголовки».

Ищите заголовок Authentication-Results. В нём принимающий сервер записал свой вердикт:

Authentication-Results: mx.google.com;
       dkim=pass header.i=@mail.example.ru header.s=s1 header.b=Kq3x...;
       spf=pass (google.com: domain of shop@mail.example.ru designates 203.0.113.10 as permitted sender) smtp.mailfrom=shop@mail.example.ru;
       dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=mail.example.ru
Что видите Что это значит
spf=fail или spf=softfail сервер, отправивший письмо, не указан в SPF-записи домена
spf=none SPF-записи у домена нет
dkim=fail подпись есть, но не сходится: сломан ключ в DNS или письмо изменили после подписи
dkim=none письмо не подписано
dmarc=fail ни SPF, ни DKIM не прошли с доменом из поля From
всё pass, а письмо в спаме дело в репутации, содержании или реакции получателей

Если читать заголовки вручную неудобно, вставьте их в анализатор заголовков письма: он покажет вердикт по каждой проверке, выравнивание с доменом отправителя и задержки на каждом пересылающем сервере.

Причина 1. Домен не аутентифицирован

Почтовые сервисы проверяют, имеет ли сервер право отправлять почту от имени вашего домена. Для этого есть три записи в DNS:

  • SPF перечисляет серверы, которым разрешено отправлять почту домена.
  • DKIM ставит на письмо криптографическую подпись, открытый ключ к которой опубликован в DNS.
  • DMARC говорит, что делать с письмом, у которого ни SPF, ни DKIM не совпали с доменом в поле From, и куда присылать отчёты.

Ключевое слово здесь — выравнивание. Письмо может пройти SPF для домена хостинга и DKIM для домена сервиса рассылки, но провалить DMARC, если ни один из этих доменов не совпадает с вашим доменом в поле From. Для принимающего сервера такое письмо ничем не отличается от подделки.

С 2024 года Gmail требует аутентификации от всех отправителей. Минимум для всех: SPF или DKIM, корректные прямая и обратная DNS-записи у отправляющего IP, TLS при передаче и доля жалоб на спам в Postmaster Tools ниже 0,3%. Для тех, кто отправляет на Gmail больше 5 000 писем в день, обязательны SPF, DKIM и DMARC, выравнивание домена From с SPF или DKIM и отписка в один клик для рекламных писем. Требования опубликованы в справке Google для отправителей.

Проверить свой домен можно бесплатно и без регистрации: комплексная проверка почтового DNS покажет SPF, DKIM, DMARC и MX сразу и объяснит, что не так с каждой записью.

Два частых случая, когда аутентификация ломается незаметно

Письма с сайта уходят через PHP mail() хостинга. Сервер хостинга не указан в вашем SPF и не подписывает письма вашим ключом DKIM. Отправленные письма попадают в спам, хотя «почта работает»: она доходит, просто не туда.

Поле From на бесплатной почте. Форма на сайте отправляет письмо от shop@mail.ru через сервер хостинга. У домена mail.ru опубликована политика DMARC p=reject, и сервер, который соблюдает DMARC, такое письмо отклонит. У yandex.ru политика сейчас p=none, но SPF всё равно не пройдёт, а письмо от имени известного бесплатного домена без пройденной аутентификации фильтр примет за подделку. Отправляйте только со своего домена.

Причина 2. Репутация домена и IP

Когда аутентификация в порядке, фильтр решает по истории: что происходило с письмами этого домена и этого IP раньше. На репутацию влияют:

  • Жалобы. Каждое нажатие «Это спам» — прямой сигнал фильтру. Gmail считает предельным порог 0,3%.
  • Отказы. Письма на несуществующие адреса говорят фильтру, что база не чистится или куплена.
  • Резкий рост объёма. Домен, который вчера отправил 50 писем, а сегодня 20 000, выглядит одинаково и при запуске продукта, и при взломе. Новый домен без истории фильтр встречает настороженно.
  • IP в чёрном списке. На общем хостинге вы делите IP с соседями, и их рассылки становятся вашей проблемой.
  • Нет PTR-записи у отправляющего IP или имя в ней не совпадает с именем сервера в приветствии HELO.

Смотреть на репутацию изнутри почтовых сервисов позволяют постмастер-кабинеты: Postmaster Tools у Google, postmaster.yandex.ru у Яндекса и postmaster.mail.ru у Mail.ru. Они бесплатные, подключаются подтверждением домена через DNS и показывают долю жалоб и репутацию по вашему домену. Подключайте их до того, как возникнет проблема: история копится только с момента подключения.

Как растить объём, чтобы не попасть в спам

Начинайте с самых активных получателей: тех, кто недавно зарегистрировался, покупал или открывал письма. Увеличивайте объём постепенно, за несколько дней, а не одним залпом. В FMailer это встроено: новый домен начинает с 200 писем в сутки, потолок удваивается от фактически доставленного объёма, а письма сверх потолка ждут в очереди и не отклоняются. Подробно — в разделе о лимитах и прогреве.

Причина 3. Ссылки в письме

Когда ссылка в письме попадает в спам вместе с письмом, фильтр обычно реагирует на одно из пяти:

  1. Сокращатель ссылок. Короткий адрес скрывает, куда ведёт ссылка, поэтому им пользуются спамеры, и фильтры относятся к нему с подозрением.
  2. Текст ссылки не совпадает с адресом. Видимый текст example.ru/order, а переход ведёт на другой домен. Это классический приём фишинга.
  3. Ссылка на IP-адрес вместо домена или прямая ссылка на исполняемый файл.
  4. Домен ссылки с плохой репутацией. Если домен из ссылки попал в доменный чёрный список, письмо пострадает, даже если с вашим доменом всё в порядке. Это касается и чужих доменов: партнёрских программ, бесплатных конструкторов, общих трекинговых доменов сервисов рассылок.
  5. Свежезарегистрированный домен ссылки без истории.

Как проверить: отправьте то же письмо без ссылок. Если оно дошло до «Входящих», возвращайте ссылки по одной, пока не найдёте виновника. Ставьте полные адреса своего домена, без сокращателей, а трекинг переходов держите на своём поддомене. В FMailer пиксель открытий и ссылки отписки находятся на хосте stats. вашего домена, а при включённом отслеживании кликов через него же переписываются ссылки в письмах, отправленных через API.

Причина 4. Содержание и оформление

Содержание весит меньше, чем принято считать: письмо с идеальной аутентификацией и хорошей репутацией выдерживает слово «бесплатно» в теме. Но несколько приёмов почти всегда вредят, потому что у них нет безобидного объяснения:

  • Смешение алфавитов внутри слова (латинская «а» в русском слове) и цифры вместо букв.
  • Скрытый текст: белым по белому, нулевой размер шрифта, display:none.
  • Письмо из одной картинки без текста.
  • Нет текстовой версии письма или она не совпадает с HTML по смыслу.
  • Пустая тема или тема, не связанная с содержанием.

Тем же списком пользуется и проверка содержимого в FMailer: обычная рекламная рассылка («Летняя распродажа, −30%») с ним не пересекается, а смешанные алфавиты, скрытый текст и подменённые ссылки весят в этой проверке больше всего.

Причина 5. Получатели не ждали этих писем

Лучшая аутентификация не спасёт письмо, на которое получатель жалуется. Жалобы и игнорирование появляются, когда:

  • база куплена, собрана или унаследована. Люди не подписывались и нажимают «Это спам»;
  • нет простой отписки. Человек, которому надоели письма, жмёт ту кнопку, которая есть, а это «Спам»;
  • письма приходят реже, чем раз в полгода, и получатель не помнит, кто вы.

Чтобы письма не попадали в спам из-за жалоб, добавьте в массовые письма заголовки List-Unsubscribe и List-Unsubscribe-Post: тогда Gmail и другие почтовые сервисы, поддерживающие отписку в один клик (RFC 8058), покажут кнопку «Отписаться» рядом с адресом отправителя. Удаляйте адреса, по которым пришёл постоянный отказ, и адреса тех, кто не открывал письма много месяцев.

Письма рассылки попадают в спам, а транзакционные — нет

Обычная история: рассылка ушла по всей базе, получила жалобы, и через день письма с кодом подтверждения начинают падать в спам. Причина в том, что фильтр считает репутацию по домену, и у рассылки и транзакционных писем она общая.

Разведите потоки по разным поддоменам: например, mail.example.ru для заказов и паролей, news.example.ru для рассылок. Тогда жалобы на акцию не тронут письма, которые клиент ждёт. В FMailer каждый поддомен подключается отдельно, со своим токеном и своей репутацией, а массовые письма, помеченные флагом mass_mail в API, получают заголовки отписки в один клик автоматически.

Письма попадают в спам у Яндекса и Mail.ru

У российских почтовых сервисов свои особенности.

Яндекс строже других относится к неподписанным письмам с незнакомых доменов, поэтому начинайте с DKIM, выровненного с доменом в поле From. Свои отказы он формулирует текстом, например 550 5.7.1 Message rejected under suspicion of SPAM. При превышении темпа он временно откладывает приём ответом 451 4.7.1: это ограничение темпа, а не блокировка.

Mail.ru объясняет отказы в основном текстом, а не кодами, поэтому диагноз ищите в тексте ответа. Если письмо попадает в спам на Mail.ru, а у Gmail и Яндекса всё хорошо, смотрите долю жалоб в постмастер-кабинете Mail.ru: он показывает её по каждому домену, и чаще всего причина находится там.

У обоих сервисов есть постмастер-кабинеты, и это единственный прямой способ узнать, как они видят ваш домен. Без них вы угадываете.

Что сделать сегодня: короткий план

  1. Отправьте письмо себе на Gmail, Яндекс и Mail.ru, найдите его и прочтите Authentication-Results.
  2. Если SPF, DKIM или DMARC не pass, исправьте записи и проверьте их чекерами.
  3. Убедитесь, что адрес в поле From на вашем домене, а не на бесплатной почте.
  4. Подключите постмастер-кабинеты Google, Яндекса и Mail.ru.
  5. Уберите из письма сокращатели и чужие трекинговые домены, проверьте письмо без ссылок.
  6. Добавьте отписку в один клик в массовые письма и вычистите базу от отказов.
  7. Разведите рассылки и транзакционные письма по разным поддоменам.

Частые ошибки

Начинать с текста письма. Переписывание темы и удаление слова «акция» почти никогда не помогают, если сломан DKIM или домен получает жалобы. Сначала заголовки, потом репутация, потом содержание.

Две SPF-записи на одном домене. Добавив новый сервис, создают вторую TXT-запись v=spf1 вместо того, чтобы дописать include: в существующую. По RFC 7208 две записи дают ошибку проверки, и SPF не проходит ни для одного сервиса.

DMARC без адреса для отчётов. Политика опубликована, а rua= нет, и о сломанной подписи вы узнаёте от клиентов. В FMailer адрес для отчётов у каждого домена указывает на сервис: он разбирает отчёты и показывает в панели долю писем, прошедших проверку.

Отправка всей базы с нового домена в первый день. Даже с идеальными записями это выглядит как взлом. Наращивайте объём постепенно.

Просить получателей «добавить в контакты». Это помогает конкретному человеку, но не меняет репутацию домена. Если просить об этом приходится всем, проблема не у получателей.

Не удалять отказы. Повторная отправка на несуществующие адреса снижает репутацию с каждой рассылкой.

Частые вопросы

Почему письма с сайта попадают в спам, а из почтового клиента доходят?

Потому что их отправляют разные серверы. Письмо из Outlook или веб-почты уходит через почтовый сервис, который указан в вашем SPF и подписывает письма DKIM. Письмо с сайта уходит через сервер хостинга, который не указан нигде. Подключите отправку с сайта через SMTP-сервер, который аутентифицирован для вашего домена.

Почему у одних получателей письмо во «Входящих», а у других в «Спаме»?

У каждого почтового сервиса свой фильтр и своя история вашего домена, а у Gmail ещё и персональная настройка под поведение конкретного пользователя. Если проблема только у одного сервиса, смотрите его постмастер-кабинет. Если у всех сразу, ищите причину в аутентификации или в базе.

Сколько ждать после исправления?

Исправленные DNS-записи заработают, как только обновится DNS: обычно на это уходит от нескольких минут до нескольких часов. Репутация восстанавливается медленнее: от нескольких дней до недель, и только если вы продолжаете отправлять хорошие письма вовлечённым получателям.

Помогает ли платный выделенный IP?

Только при большом и ровном объёме. Новый выделенный IP не имеет репутации и сам требует прогрева. Для большинства отправителей важнее репутация домена: именно домен Gmail и Яндекс оценивают в первую очередь.

Слово «бесплатно» в теме отправляет письмо в спам?

Само по себе нет. Фильтры давно не работают по списку стоп-слов. Если письмо попадает в спам только с этим словом, домен балансирует на грани, и любой лишний признак перевешивает. Ищите основную причину выше по списку.

Итог

Отправленные письма попадают в спам не случайно, и причина почти всегда находится по служебным заголовкам. Проверьте аутентификацию и выравнивание, затем репутацию в постмастер-кабинетах, затем ссылки и оформление, и только потом текст. Разведите рассылки и транзакционные письма, дайте получателям простую отписку и не отправляйте тем, кто не просил.

Попробовать FMailer

Подключите поддомен на fmailer.ru: после делегирования NS-записей сервис сам опубликует DKIM, SPF и DMARC, примет отчёты DMARC на свой адрес и покажет репутацию домена числом от 0 до 100. Проверить, в каком состоянии почтовые записи вашего домена сейчас, можно без регистрации — бесплатными инструментами в разделе «Инструменты».

Подключить домен на fmailer.ru →