Rspamd ist eine weit verbreitete E-Mail- und Spam-Filterlösung. Es besteht aus einer Reihe von regelbasierten Filtern, Blacklists, Greylisting und auch einem selbstlernenden Bayes-Filter. Manchmal kann es vorkommen, dass sich der Bayes-Filter seltsam verhält und die falschen E-Mails kennzeichnet. In einem solchen Fall kannst Du entweder versuchen, die Filter-Ham-E-Mails, die im Spam gelandet sind, weiterzugeben, um sie neu zu lernen. Oder Du setzt einfach den gesamten Bayes-Filter zurück, um ihn wieder von Grund auf neu anzulernen.
In dieser Anleitung zeige ich Di, wie Du den Bayes-Filter in Rspamd zurücksetzt.
Der Rspamd Bayes-Filter speichert seine Token in der Regel in einer Redis-Datenbank. Um den Bayes-Filter zurückzusetzen, löschen wir die Token mit den folgenden beiden Befehlen aus der Redis-Datenbank:
redis-cli KEYS *BAYES* | xargs redis-cli DEL
redis-cli KEYS RS* | xargs redis-cli DEL
Bei mir läuft der Bayes-Filter mit einer Extra-Redis-Instanz auf Port 6378. Dafür folgende Befehle verwenden.
redis-cli -p 6378 KEYS *BAYES* | xargs redis-cli -p 6378 DEL
redis-cli -p 6378 KEYS RS* | xargs redis-cli -p 6378 DEL
Oder einfach die gesamte DB leeren mit redis-cli -p 6378 FLUSHDB
, das geht am zuverlässigsten.
HAM anlernen
mit rspamc learn_ham /home/*/homes/*/Maildir/cur/*
SPAM anlernen
mit rspamc learn_spam /home/*/homes/*/Maildir/.Spam/cur/*
Der Pfad kann variieren, meiner ist, wie Virtualmin unter Ubuntu ihn nutzt.
Der erste * steht für alle Domains. Der zweite * steht für alle User. Der dritte * für alle Emails.