View previous topic :: View next topic |
Author |
Message |
krolik26 n00b
Joined: 23 Mar 2004 Posts: 56 Location: Germany
|
Posted: Thu Oct 26, 2006 9:52 pm Post subject: [TIP] Spamassassin mit automatischem Spam-Learn-ordner |
|
|
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 |
|
|
slick Bodhisattva
Joined: 20 Apr 2003 Posts: 3495
|
Posted: Fri Oct 27, 2006 5:19 am Post subject: |
|
|
krolik26 wrote: | bitte ich die forum-admin's diesen post an die richtige stelle zu verschieben. |
verschoben nach Deutsche Dokumentation |
|
Back to top |
|
|
krolik26 n00b
Joined: 23 Mar 2004 Posts: 56 Location: Germany
|
Posted: Fri Oct 27, 2006 12:33 pm Post subject: |
|
|
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 |
|
|
|
|
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
|
|