![SpamAssassin, похоже, не «учится» на пересылаемых примерах спама](https://rvso.com/image/568230/SpamAssassin%2C%20%D0%BF%D0%BE%D1%85%D0%BE%D0%B6%D0%B5%2C%20%D0%BD%D0%B5%20%C2%AB%D1%83%D1%87%D0%B8%D1%82%D1%81%D1%8F%C2%BB%20%D0%BD%D0%B0%20%D0%BF%D0%B5%D1%80%D0%B5%D1%81%D1%8B%D0%BB%D0%B0%D0%B5%D0%BC%D1%8B%D1%85%20%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B0%D1%85%20%D1%81%D0%BF%D0%B0%D0%BC%D0%B0.png)
У меня естьспамтрап@ихамтрап@адреса, настроенные на моем почтовом сервере, и пересылать примеры спама на адрес spamtrap. Я надеялся, что после нескольких примеров SpamAssassin «научится» определять особые характеристики спам-почты с общими атрибутами, но, похоже, это не так — она все равно доставляется как обычная почта.
Например, некоторые электронные письма от одного и того же отправителя и/или с одной и той же темой, несмотря на то, что они были отправлены несколько разспамтрап@, просто доставляются в обычном режиме.
Похоже ли, что SpamAssassin не работает или неправильно настроен, или я неправильно понял какой-то фундаментальный аспект его работы?
решение1
Spamassassin использует ряд правил для определения того, заблокировано ли письмо, и создает оценку каждого письма. Обычно это включается в заголовок каждого письма, так что вы можете видеть, какие правила сработали.
Обучение Spamassassin улучшает байесовское тестирование на спам, поэтому, если обучение работает, вы должны увидеть следующее:
X-Spam-Status: Yes/No, score=X.X required=5.0 tests=BAYES_99...... autolearn=no
Оценка BAYES_99 означает, что вероятность того, что электронное письмо является спамом, составляет от 99 до 100%, однако вы можете получить оценку от BAYES_00 до BAYES_99.
Если вы не видите указанную выше строку ни в одном письме, значит Spamassassin не работает.
В своей настройке Virtualmin я изменил папку со спамом, в которую перемещаю электронные письма, а затем добавил ежедневное задание, которое запускает обучение Spamassassing и удаляет электронные письма через 4 недели.
В настоящее время я настраиваю скрипт для каждого пользователя следующим образом:
/usr/bin/sa-learn -u <username> --spam /home/domain/homes/<user>/Maildir/.<folder name>/cur/
/usr/bin/find /home/domain/homes/<user>/Maildir/.<folder name>/cur/ -mtime+28 -exec rm {} \;