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

Письма попадают в спам по пяти причинам, и проверять их стоит в таком порядке: домен не аутентифицирован (нет или сломаны 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. Ссылки в письме
Когда ссылка в письме попадает в спам вместе с письмом, фильтр обычно реагирует на одно из пяти:
- Сокращатель ссылок. Короткий адрес скрывает, куда ведёт ссылка, поэтому им пользуются спамеры, и фильтры относятся к нему с подозрением.
- Текст ссылки не совпадает с адресом. Видимый текст
example.ru/order, а переход ведёт на другой домен. Это классический приём фишинга. - Ссылка на IP-адрес вместо домена или прямая ссылка на исполняемый файл.
- Домен ссылки с плохой репутацией. Если домен из ссылки попал в доменный чёрный список, письмо пострадает, даже если с вашим доменом всё в порядке. Это касается и чужих доменов: партнёрских программ, бесплатных конструкторов, общих трекинговых доменов сервисов рассылок.
- Свежезарегистрированный домен ссылки без истории.
Как проверить: отправьте то же письмо без ссылок. Если оно дошло до «Входящих», возвращайте ссылки по одной, пока не найдёте виновника. Ставьте полные адреса своего домена, без сокращателей, а трекинг переходов держите на своём поддомене. В 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: он показывает её по каждому домену, и чаще всего причина находится там.
У обоих сервисов есть постмастер-кабинеты, и это единственный прямой способ узнать, как они видят ваш домен. Без них вы угадываете.
Что сделать сегодня: короткий план
- Отправьте письмо себе на Gmail, Яндекс и Mail.ru, найдите его и прочтите
Authentication-Results. - Если SPF, DKIM или DMARC не
pass, исправьте записи и проверьте их чекерами. - Убедитесь, что адрес в поле From на вашем домене, а не на бесплатной почте.
- Подключите постмастер-кабинеты Google, Яндекса и Mail.ru.
- Уберите из письма сокращатели и чужие трекинговые домены, проверьте письмо без ссылок.
- Добавьте отписку в один клик в массовые письма и вычистите базу от отказов.
- Разведите рассылки и транзакционные письма по разным поддоменам.
Частые ошибки
Начинать с текста письма. Переписывание темы и удаление слова «акция» почти никогда не помогают, если сломан 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. Проверить, в каком состоянии почтовые записи вашего домена сейчас, можно без регистрации — бесплатными инструментами в разделе «Инструменты».