Quantcast
Channel: splash ;) » Skript
Viewing all articles
Browse latest Browse all 4

Mailserver: Trainingsskript für Spamassassin

$
0
0

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/bash

VMAILDIR="/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
done

chown -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.
Ähnliche Beiträge:


Viewing all articles
Browse latest Browse all 4

Latest Images

Pangarap Quotes

Pangarap Quotes

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Trending Articles


Ang Nobela sa “From Darna to ZsaZsa Zaturnnah: Desire and Fantasy, Essays on...


Lola Bunny para colorear


Dino Rey para colorear


Girasoles para colorear


Dibujos de animales para imprimir


Renos para colorear


Dromedario para colorear


Angry Quotes Tagalog – Best Patama Quotes


Love Quotes Tagalog


RE: Mutton Pies (mely)


Gwapo Quotes : Babaero Quotes


Kung Fu Panda para colorear


Libros para colorear


Mandalas de flores para colorear


Dibujos para colorear de perros


Toro para colorear


mayabang Quotes, Torpe Quotes, tanga Quotes


Long Distance Relationship Tagalog Love Quotes


Tagalog Long Distance Relationship Love Quotes


Mga Tala sa “Unang Siglo ng Nobela sa Filipinas” (2009) ni Virgilio S. Almario





Latest Images

Pangarap Quotes

Pangarap Quotes

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC