Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[TIP] Spamassassin mit automatischem Spam-Learn-ordner
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Deutsche Dokumentation
View previous topic :: View next topic  
Author Message
krolik26
n00b
n00b


Joined: 23 Mar 2004
Posts: 56
Location: Germany

PostPosted: Thu Oct 26, 2006 9:52 pm    Post subject: [TIP] Spamassassin mit automatischem Spam-Learn-ordner Reply with quote

hi,

ich wusste nicht genau in welches forum ich schreiben soll,
da ich eigentlich kein problem hab sondern nur mein script vorstellen moechte.
also ich probiers einfach hier, fall es in dieses forum nicht passt,
bitte ich die forum-admin's diesen post an die richtige stelle zu verschieben.
nun gut, jetzt zum thema.

die inspiration zu diesem script fand ich bei 1und1-email account.
dort hab ich bemerkt, dass evtl. dort ein spamassassin im einsatz ist,
und alle mails die in den spam-ordner verschoben werden, als spam gelernt werden!
natuerlich hab ich keine ahnung was da wirklich ablaeuft, ist nur eine vermutung,
aber diese idee hat mir schon fuer meine inspiration gereicht.
ich wollte auf meinem mail-server genau das gleiche machen, und zwar:
jede spam-mail die beim spamassassin durchkommt, soll zum spaeteren zeitpunkt
automatisch als Spam erkannt werden!
nach dem tutorial zum thema Qmail+Spamassassin aus diesem forum
hatte ich bei mir zu jedem Postfach ein zusaetzlichen Ordner SLearn, Spam und FPLearn angelegt.
SLearn - zum erlernen der spam's (obwohl ich leider ich immernoch nicht rausgefunden hab, wie das gehen soll,
was mich wiederrum veranlasst hat dieses script zuschreiben)
Spam - wo die spam-mails aufbewahrt werden
FPLearn - wo der spamassassin lernen soll, welche NICHT spam-mails sind. (dasselbe problem wie bei SLearn-ordner)

wiegesagt, eventuell hab ich bei dem tutorial irgendwas uebersehen, dass ich nicht erkannt hab,
wie der ordner SLearn und FPlearn ordner funktionieren sollen.

nagut, deshalb, nach kurzer ueberlegung, hab ich folgendes gemacht:
Code:
#!/bin/bash

VDIR='/var/vpopmail/domains/HIER_EURE_DOMAIN'

SA_LEARN='/usr/bin/sa-learn'

DIR_SLEARN='.maildir/.Slearn/new .maildir/.Slearn/cur'
DIR_SPAM='.maildir/.Spam/new'
DIR_FPLEAR='.maildir/.FPlearn/new .maildir/.FPlearn/cur'
DIR_INBOX='.maildir/new'

BACKUP='_HIER_EIN_BACKUP_ORDNER' #falls backup erwuenscht

TODAY=`date +%Y%m%d`

TEST_FLAG=0

# dynamische liste
ACCOUNT_LIST=`ls -1 ${VDIR}`
# oder eine statische liste (einfach die zeile auskommentieren)
#ACCOUNT_LIST={postmaster, info, administrator, webmaster} #usw...

for addy in ${ACCOUNT_LIST}; do
       
        # Slearn-ordner durchgehen, und spam-mails beim spamassassin melden
        for search_dir in $DIR_SLEARN; do
                test -r $VDIR/$addy/$search_dir/ || continue # pruefen ob man rechte zum lesen hat
                if test "`ls -1 $VDIR/$addy/$search_dir/`" != "" # pruefen ob das verz. nicht leer ist
                then
                        $SA_LEARN --no-sync --spam $VDIR/$addy/$search_dir/ # an SA spam-mail melden
                        mv $VDIR/$addy/$search_dir/* $VDIR/$addy/$DIR_SPAM/ # spam-mail in Spam-ordner verschieben
                        TEST_FLAG=1 # flag setzen
                fi
        done

        # Ham-mail verarveitung
        test -r $VDIR/$addy/$DIR_FPLEAR/ || continue # pruefen ob man rechte zum lesen hat
        if test "`ls -1 $VDIR/$addy/$DIR_FPLEAR/`" != "" # wenn ordner nicht leer
        then
                $SA_LEARN --no-sync --ham $VDIR/$addy/$DIR_FPLEAR/ # alle mails die dort liegen als ham-mail melden
                mv $VDIR/$addy/$DIR_FPLEAR/* $VDIR/$addy/$DIR_INBOX/ # diese mails zurueck in die INBOX verschieben
                TEST_FLAG=1 # test-flag setzen
        fi
done # aussen schleiffe zuende

# wenn min. einmal an SA gemeldet wurde
if test $TEST_FLAG -eq 1
then
        $SA_LEARN --sync #SA synchronisieren
fi

# wenn backup-ordner schreibrechte hat
if test -w $BACKUP
then
        $SA_LEARN --backup > ${BACKUP}/${TODAY} # SA-liste backup'en
fi

das script hab ich in /etc/cron.weekly/ abgelegt, somit wird jede woche,
auf jedem account der SLearn & FPlearn ordner aufgeraeumt,
und der Spamassassin lernt damit etwas mehr dazu :)

so, nun ist mein vortrag am ende,
und ich bitte um konstruktive kritik oder fragen.

wiegesagt, eine moeglichkeit vom qmail bzw. SA aus, diese aufgabe zu uebernehmen,
habe ich leider nicht gefunden, falls ich was uebersehen habe, bitte ich um eine anmerkung dazu.
wie immer aber, habe ich solche scripte (nach dem meins fertig war) auch anderswo gesehen.
damit will ich sagen, dass meins nicht das einzige ist, und auch nicht perfekt.
aber self-made ist fuer mich immernoch bissl schoener :)
uebrigens, zwei alternative scripte hab ich auf der SA-seite gefunden,
hier: http://wiki.apache.org/spamassassin/ReportingSpam

viel spaß mit dem script,
fragen, kritik oder anmerkungen sind herzlich willkommen!


Last edited by krolik26 on Mon Oct 30, 2006 11:19 am; edited 1 time in total
Back to top
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3487

PostPosted: Fri Oct 27, 2006 5:19 am    Post subject: Reply with quote

krolik26 wrote:
bitte ich die forum-admin's diesen post an die richtige stelle zu verschieben.

verschoben nach Deutsche Dokumentation
Back to top
View user's profile Send private message
krolik26
n00b
n00b


Joined: 23 Mar 2004
Posts: 56
Location: Germany

PostPosted: Fri Oct 27, 2006 12:33 pm    Post subject: Reply with quote

erstmal, vielen dank an slick, dass du mein beitrag auf die richtige stelle verschoben hast.

so, nun noch ein update an einigen infos zum thema.
mitlerweile hab ich rausgefunden woher die ordner: SLearn und FPLearn kommen,
naemlich vom plugin [url="sasql"]http://www.squirrelmail.org/plugin_view.php?id=167[/url] aus dem [url="Squirrelmail"]http://www.squirrelmail.org[/url]. in dem plugin wird dort naemlich genau dasselbe gemacht,
was mein script auch tut! :)
d.h. wenn ihr Squirrelmail im einsatz habt, braucht ihr eigentlich nur dieses plugin zu installieren.
ich selbst werde mein script trotzdem weiter benutzen :)
zum script:
meine Bayes-regeln laufen auf MySQL-server, deshalb ist der "-u username" parameter fuer mich ueberfluessig.
wers braucht, kanns gerne fuer sich das script anpassen.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Deutsche Dokumentation All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum