Содержание

SpamAssassin

SpamAssassin – это написанный в perl (модуль Mail::SpamAssassin в CPAN) почтовый фильтр с открытым исходным кодом, предназначенный для выявления спама путем проведения эвристических проверок почтовых заголовков и текстов. Работа SpamAssassin основана на взаимодействии ключевых компонентов — оценочного сервиса, транспортного агента и базы шаблонов писем.

SpamAssassin может быть запущен как отдельное приложение, как часть другой программы, либо как клиент (spamc), который взаимодействует с демоном (spamd). Последний способ имеет более высокое быстродействие.

SpamAssassin поставляется с большим набором правил, которые определяют, какие письма являются спамом, а какие нет. Большинство правил основано на регулярных выражениях, которые сопоставляются телу или заголовку сообщения, но SpamAssassin также использует и другие методики. В документации SpamAssassin эти правила называются «tests».

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

У SpamAssassin'а есть настраиваемый порог, при превышении которого письмо будет классифицировано как спам. Обычно порог таков, что письмо должно подойти по нескольким критериям; срабатывания только одного теста недостаточно для превышения порога.

Установка

Отладка

Настройка

Обучение

Проверка работы

В дистрибутив SpamAssassin входят типовые файлах, с помощью которых можно проверить работает ли программа. Тестируют SpamAssassin стандартной сигнатурой GTUBE.

# spamassassin -t < sample-spam.txt > spam.out