Ein Bayes-Filter ist eine schoene Sache: Er lernt, welche Begriffe normal in Spammails benutzt werden und optimiert so die Entscheidung, ob eine E-Mail Spam ist oder nicht.
Um das mal endlich richtig zu machen, wollte ich mir die "lern"-Funktion von meinem Spamassassin auf eine Taste in meinem Mailprogramm legt - Aber es waere ja zu schoen, wenn alles ohne Probleme funktionieren wuerde ...
Ich muss wohl irgendwann mal an meinen Gentoo USE-Flags rumgespielt und berkdb deaktiviert haben, ohne weiter darueber nachzudenken. Klar habe ich mich nach dem letzten Spamassassin-Update gewundert, dass die Erkennungsrate deutlich eingebrochen ist, aber man weiss ja nie woran es liegt.
sa-learn meldet dazu ganz brav "debug: bayes: DB_File module not installed, cannot use Bayes" - also Useflag aktiviert und spamassassin neu installiert: gleicher Fehler, aber DB_File ist und war doch installiert. Hah - Windowserfahrung lehrt einen Hoffen und so habe ich dev-perl/DB_File-1.807 einfach nochmal drueberinstalliert. Jetzt gehts.
Der naechste Schritt ist dann mein MUA mutt. Hier moechte ich, das die Mail auf Knopfdruck automatisch an sa-learn weitergeleitet wird und dann in einem Spam-Report-Ordner abgelegt wird. Dazu muste ich meinem mutt erstmal beibringen, dass er nicht immer auf einen Tastendruck warten soll, sondern nur bei Problemen (Exit-Code != 0). Das geht mit wait_key. Danach moechte ich, dass im index und im pager von mutt die Taste Strg+s die Mail an sa-learn schickt und danach im Ordner spam-report/ ablegt. Alles zusammen sieht dann so aus:
unset wait_key macro index [cs "|sa-learn --spam --no-rebuild [ns=/admin/spam-report/[n" macro pager [cs "|sa-learn --spam --no-rebuild[ns=/admin/spam-report/[n"
--no-rebuild sorgt dafuer, dass die Datenbank nicht bei jeder Mail neu generiert wird - das beschleunigt das ganze etwas. Das lasse ich einen Cronjob (/usr/bin/sa-learn --rebuild) einmal am Tag automatisch erledigen.
Vom spamc (der Spamassassin-Client) erkannte Spam-Mails werden uebrigens automatisch aussortiert und in eine gesonderte Mailbox geschoben. Zu dieser Mailbox bekomme ich einmal am Tag eine Report-Mail, die mir Absender, Empfaenger, Betreff und eine Inhaltsvorschau anzeigt. Dazu muss ich dann manuell entscheiden, ob es wirklich Spam ist (normal ist es wirklich Spam!).
Meine required_hists steht auf 5 - also alles darueber wird als Spam behandelt. Die Report-Mail selbst zeigt allerdings nur Spam, der unterhalb von 12 Punkten liegt. Alles darueber - das sind etwa 50 % der Spam-Mails - wird komplett ignoriert.
Im Schnitt bekomme ich momentan 100 Spammails pro Tag und schaue mir etwa 50 davon im Report an. 5 bis 6 schafften es bisher am Tag durch meinen Filter. Fehlerhaft als Spam eingestufte Mails kommen so gut wie nie vor (vielleicht 1 pro 2000 erkannte Mails - ehr weniger).
