uCheckeruChecker

Спам-фильтр: как почтовые провайдеры решают судьбу ваших писем

Марк АвриловОпубликовано обновлено

Спам-фильтр (spam filter) — программный механизм, который анализирует каждое входящее email-сообщение и решает, куда его направить: во входящие, в папку «Спам» или отклонить на уровне сервера. Фильтры работают на стороне почтового провайдера (Gmail, Outlook, Yahoo, Mail.ru), на корпоративных почтовых шлюзах и внутри отдельных почтовых клиентов. Для отправителя рассылок спам-фильтр - это главный барьер между нажатием кнопки «Отправить» и появлением письма в ящике подписчика.

Как устроен спам-фильтр: слои проверки

Современный спам-фильтр это не одно правило, а конвейер проверок, идущих одна за другой, где каждая даёт свой взвешенный сигнал. Итоговое решение (входящие, спам или отказ) складывается из всех сигналов разом. Обычно в конвейере четыре слоя: проверки на уровне соединения, аутентификация, разбор содержания и история реакций.

На уровне соединения принимающий сервер смотрит на IP-адрес отправителя ещё до того, как прочтёт тело письма. Он опрашивает блоклисты на базе DNS (Spamhaus SBL, Barracuda, SORBS) и проверяет репутацию адреса. IP в чёрном списке значит отказ сразу, и содержание письма роли уже не играет.

Дальше идёт аутентификация. Сервер проверяет SPF (разрешён ли отправляющий IP для этого домена), DKIM (сходится ли криптографическая подпись) и DMARC (выровнены ли SPF и DKIM с доменом из From). С февраля 2024 года Google и Yahoo требуют прохождения этих проверок от всех массовых отправителей. Провал ведёт в карантин или к отказу, каким бы хорошим ни было содержание.

Слой содержания это то, о чём обычно и думают, когда слышат «спам-фильтр». Здесь система разбирает тему, текст, HTML-структуру, ссылки, картинки и вложения. Движки на правилах вроде SpamAssassin начисляют плюсы и минусы сотням признаков. Модели машинного обучения у Gmail и Outlook делают примерно то же, но по куда большему числу переменных и с постоянным переобучением.

И наконец сигналы вовлечённости работают как обратная связь. Первым этот подход применил Gmail: если получатели стабильно открывают письма отправителя, отвечают на них или достают из спама, фильтр учится ему доверять. И наоборот, удаления без прочтения, нажатия «в спам» и низкая открываемость учат фильтр не доверять.

Типы спам-фильтров

Спам-фильтры различаются по месту работы и методам анализа. На практике отправителю рассылок приходится учитывать все типы одновременно, потому что письмо проходит через несколько фильтров последовательно.

Серверные фильтры провайдеров. Gmail, Outlook.com, Yahoo Mail, Mail.ru - у каждого собственная система фильтрации, построенная на машинном обучении. Эти фильтры обрабатывают миллиарды писем в сутки и непрерывно обучаются на действиях пользователей. Отправитель не может посмотреть внутреннюю оценку: провайдер принимает бинарное решение (inbox или spam) и не раскрывает детали.

Корпоративные шлюзы. Компании устанавливают Proofpoint, Mimecast, Barracuda Email Security Gateway или Microsoft Defender for Office 365 перед собственным почтовым сервером. Шлюз перехватывает все входящие письма и фильтрует их до того, как они попадут в Exchange или Google Workspace. Правила здесь часто строже, чем у публичных провайдеров: администратор может запретить определённые типы вложений, заблокировать целые домены или установить низкий порог spam score.

Open-source фильтры. SpamAssassin, Rspamd, Bogofilter работают на серверах хостинг- провайдеров и небольших компаний. SpamAssassin использует набор правил с весами: каждому признаку присваивается балл, итоговая сумма сравнивается с порогом (обычно 5.0). Rspamd быстрее и поддерживает нейросетевые модули, но логика та же - взвешенная оценка.

Клиентские фильтры. Thunderbird, Apple Mail и десктопный Outlook имеют встроенные байесовские фильтры, которые обучаются на решениях конкретного пользователя. Если получатель вручную перемещает ваши письма в спам, клиентский фильтр запоминает это и начинает блокировать будущие сообщения.

Что запускает спам-фильтр: типовые ошибки

Знать устройство полезно, но отправителю нужны конкретные примеры того, что идёт не так. Вот случаи, которые стабильно портят доставляемость.

Отсутствующая или сломанная аутентификация. Нет SPF-записи, просрочен ключ DKIM или в DMARC стоит none без отчётов. Любое из этого говорит принимающему серверу, что отправитель не потрудился доказать, кто он такой. Мгновенной блокировки может и не быть, но положительный сигнал от аутентификации пропадает, и фильтр склоняется к подозрению.

Отправка по залежавшимся спискам. Адреса отмирают со скоростью 2-3% в месяц. То, что было живым год назад, сегодня даёт жёсткий возврат или, хуже, оказывается переработанной спам-ловушкой. Одна рассылка по нечищеному списку поднимает долю возвратов выше 5%, приводит в блоклист и роняет репутацию отправителя на недели.

Красные флаги в содержании. Избыток заглавных в теме, письмо из одних картинок без текста, сокращённые ссылки (bit.ly, tinyurl), скрытый текст в HTML и расхождение между текстовой и HTML-версией. По отдельности ни один из этих факторов не смертелен, но они складываются. Три-четыре мелких срабатывания в одном письме переводят спам-оценку за порог.

Скачки объёма без прогрева. Перейти на новый IP или домен и сразу отправить 50 000 писем это хрестоматийный спамерский почерк. Фильтры ждут постепенного роста. Резкий всплеск говорит либо о взломанном аккаунте, либо о новом спамере, и ответом будет придерживание или блокировка.

Как проходить спам-фильтры: практические рекомендации

  • Настройте SPF, DKIM и DMARC. Проверяйте их корректность после каждого изменения DNS. Сломанная DKIM-подпись хуже, чем её отсутствие, потому что показывает фильтру несоответствие.
  • Регулярно валидируйте базу подписчиков. Удаляйте hard bounces после первого возврата, отсеивайте спам-ловушки, исключайте адреса, которые не открывали рассылку более шести месяцев.
  • Прогревайте новые IP и домены. Начинайте с нескольких сотен писем в день и наращивайте объём в течение двух-четырёх недель.
  • Добавляйте заголовок List-Unsubscribe с поддержкой one-click unsubscribe (RFC 8058). С 2024 года это обязательное требование Google и Yahoo для массовых рассылок.
  • Держите complaint rate ниже 0.1%. Если жалобы растут, пересмотрите частоту отправки и сегментацию.
  • Тестируйте письма перед отправкой. Инструменты вроде mail-tester.com или GlockApps показывают spam score и список сработавших правил SpamAssassin.
  • Используйте собственный домен для трекинга кликов вместо общих доменов ESP. Общие трекинговые домены наследуют репутацию всех клиентов сервиса.

Спам-фильтры и качество базы: в чём связь

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

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

Что происходит, когда письмо попадает в спам

Попадание в папку «Спам» - не конец. Но последствия шире, чем кажется. Помимо того что конкретное письмо не будет прочитано, запускается цепная реакция. Провайдер фиксирует, что получатель не взаимодействовал с сообщением. Это снижает engagement-сигнал отправителя. Следующее письмо с большей вероятностью тоже уйдёт в спам. Если ситуация не исправляется, провайдер начинает фильтровать все письма от этого отправителя на уровне домена.

Обратный процесс тоже работает, но медленнее. Если отправитель вычищает базу, снижает bounce rate и complaint rate, фильтры постепенно восстанавливают доверие. На Gmail это может занять от двух до четырёх недель при условии, что объём отправки сохраняется стабильным и показатели вовлечённости улучшаются.

uChecker убирает из базы невалидные адреса, спам-ловушки и рискованные контакты до того, как они попадут в рассылку. Чистый список означает меньше bounces, меньше жалоб и меньше поводов для спам-фильтра отправить ваше письмо в нежелательные.

спам-фильтрspam filterдоставляемостьSpamAssassinконтентная фильтрациярепутация отправителя
← Глоссарий

Марк Аврилов · Автор материала

Опубликовано Обновлено