Спам-фильтр: как почтовые провайдеры решают судьбу ваших писем
Марк АвриловОпубликовано обновлено
Спам-фильтр (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, меньше жалоб и меньше поводов для спам-фильтра отправить ваше письмо в нежелательные.
Марк Аврилов · Автор материала
Опубликовано Обновлено
