Aug

23

Mailserver: Trainingsskript für Spamassassin

Nachdem ich die Tage einen neuen Mailserver aufgesetzt habe (mehr oder weniger nach dem Howto von johker), hatte ich mich nun ein bischen mit dem Feintuning beschäftigt. U.a. habe ich das Skript fürs Trainieren von Ham- bzw. Spam-Mails für die Bayes-Datenbank von Spamassassin überarbeitet, damit weniger (Fehler-)Meldungen produziert werden und man sich das Ergebnis damit eher per E-Mail (zur Kontrolle der Arbeit) zuschicken lassen kann:

#!/bin/bashVMAILDIR="/var/vmail"
SADIR="/var/lib/amavis/.spamassassin"
DBPATH="/var/lib/amavis/.spamassassin/bayes"cd $VMAILDIR
for domain in $(find ./ -maxdepth 1 -not -name "." -type d | sed -e 's/\.\/*//'); do
domaindir="$VMAILDIR/$domain"
cd $domaindir
for user in $(find ./ -maxdepth 1 -not -name "." -type d | sed -e 's/\.\/*//'); do
maildir="$domaindir/$user/maildir"
hamdir="$maildir/.Ham"
spamdir="$maildir/.Spam"# train ham
if [ -d $hamdir ]; then
hamcount=$(find $hamdir -regex '.*\(/.*\)?\/\(cur\|new\)/.*' -type f | wc -l)
if [ $hamcount -ge 1 ]; then
echo "Learning ham from $hamdir/cur"
sa-learn --ham --showdots --dbpath $DBPATH $hamdir/cur
find $hamdir -regex '.*\(/.*\)?\/\(cur\|new\)/.*' -type f -delete
fi
fi# train spam
if [ -d $spamdir ]; then
spamcount=$(find $spamdir -regex '.*\(/.*\)?\/\(cur\|new\)/.*' -type f | wc -l)
if [ $spamcount -ge 1 ]; then
echo "Learning junk from $spam/cur"
sa-learn --spam --showdots --dbpath $DBPATH $spamdir/cur
find $spamdir -regex '.*\(/.*\)?\/\(cur\|new\)/.*' -type f -delete
fi
fi
done
donechown -R amavis:amavis $SADIR

Das Skript ist sicherlich nicht optimal, sollte aber, ob des mehr an Abfragen, sa-learn nur noch aufrufen, wenn auch wirklich E-Mails fürs Training vorhanden sind. Desweiteren werden die gelernten E-Mails im Anschluss gelöscht.

Teile und Herrsche
  • Digg
  • Yigg
  • LinkArena
  • MisterWong.DE
  • Webnews.de
  • Technorati
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Reddit
  • Live
  • Google Bookmarks
  • Wikio

Kommentar hinterlassen

XHTML (erlaubte Tags): <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Archiv

Zufällige Bilder

  • SPLASH Regenschirme: Trifft man bald überall...
  • Fenix PD20 - Lieferumfang
  • topvhost - a virtual host monitor

Kommentare (28 Tage)

Sonstiges


Bloggeramt.de