uCheckeruChecker

Контентная фильтрация email: как спам-фильтры анализируют содержимое писем

Контентная фильтрация (content filtering) - процесс, при котором почтовый сервер анализирует содержимое входящего письма и решает, куда его направить: во входящие, в спам или вовсе отклонить. Фильтр разбирает текст, HTML-разметку, ссылки, вложения и метаданные. На основе набора правил и алгоритмов машинного обучения рассчитывается оценка (spam score), которая определяет судьбу письма.

Что именно проверяет контентный фильтр

Современные спам-фильтры не ищут одно конкретное слово. Они оценивают десятки и сотни признаков одновременно. Вот основные группы:

Текст и формулировки. Фильтр анализирует частотность определённых слов и фраз. «Бесплатно», «только сегодня», «заработок без вложений», «нажмите здесь» - каждая такая фраза добавляет баллы к spam score. По отдельности один триггер ничего не решает. Но когда их десять в одном письме, совокупный эффект срабатывает. Фильтры также учитывают соотношение текста и «шумовых» символов: чрезмерное использование заглавных букв, восклицательных знаков и Unicode-символов вместо обычных букв (например, замена «о» на «0» для обхода фильтров).

HTML-разметка. «Грязный» HTML - сигнал для фильтра. Примеры: скрытый текст (font-size: 0, color совпадает с фоном), избыточное количество тегов, невалидная разметка, которую мог сгенерировать только автоматический инструмент. Фильтр также оценивает соотношение текста и изображений. Письмо, состоящее из одной картинки без текста, получает высокий spam score.

Ссылки. Каждый URL в письме проверяется по чёрным спискам (SURBL, URIBL, Spamhaus DBL). Сокращённые ссылки (bit.ly, tinyurl) повышают подозрительность, потому что скрывают реальный адрес. Множество разных доменов в одном письме тоже настораживает фильтр.

Заголовки (headers). Фильтр проверяет согласованность полей From, Reply-To, Return-Path. Если адрес отправителя в поле From не совпадает с реальным источником, это признак подделки. Также анализируются DKIM-подпись, SPF-запись и результаты DMARC-проверки.

Вложения. Исполняемые файлы (.exe, .bat, .scr) блокируются практически всеми провайдерами. Архивы с паролем тоже вызывают подозрение. Даже безобидный PDF может повысить spam score, если фильтр не может прочитать его содержимое.

Как работает SpamAssassin

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

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

Как писать письма, которые проходят контентные фильтры

  • Избегайте скоплений триггерных слов. Одно «бесплатно» в контексте описания тарифа - нормально. Три подряд в теме и прехедере - проблема.
  • Поддерживайте соотношение текста к изображениям минимум 60/40. Не отправляйте письмо из одной картинки.
  • Используйте чистый, валидный HTML. Избегайте inline-стилей, которые скрывают контент.
  • Не сокращайте ссылки. Используйте собственный домен для трекинга кликов, если он настроен корректно (с HTTPS и хорошей репутацией).
  • Добавляйте текстовую версию письма (multipart/alternative). Фильтры лучше относятся к письмам, которые можно прочитать без HTML.
  • Проверяйте spam score до отправки. Инструменты вроде mail-tester.com или GlockApps показывают, какие правила срабатывают на вашем письме.

Связь между контентом и репутацией

Контентная фильтрация не работает в вакууме. Если репутация IP и домена отправителя высокая, фильтр прощает мелкие недочёты в содержимом. Если репутация низкая, даже идеальное письмо может не дойти. Контент - один из факторов, но не единственный. Чистая база подписчиков, корректная аутентификация (SPF, DKIM, DMARC) и регулярная работа с вовлечённостью важны не меньше.

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

контентная фильтрацияспам-фильтрSpamAssassinspam scoreдоставляемостьemail-маркетинг
← Глоссарий