Some automatic handling driving from Nigel filer set
Daniel Moyne <[email protected]>
| Newsgroups | gmane.mail.bogofilter.general |
|---|---|
| Organization | azun |
| Message-ID | <[email protected]> |
Following Nigel's how-to and philosophy I am now using "cron" to automatically
handle bogofilter actions off KMail.
Recall :
. "Spam" folder contains manually handled messages of spam type ; mainly used
at the very beginning to start training bogofilter and then each week through
cron automatic action.
. "NonSpam" folder contains manually handled messages of ham type ; mainly
used at the very beginning to start training bogofilter and then each week
through cron automatic action.
. bogofilter filtering is piping messages to "inbox", "spam" or "unsure"
folders depending of recognized type (spam, ham or unsure) ; all these folders
but "inbox" folder have a 30 expiration period.
. it is up to the user to check from time to time :
- content of "inbox" folder to move spam messages not correctly detected to
"Spam" folder,
- content of "spam" folder to move ham messages not correctly detected to both
"inbox" and "NonSpam" folders,
- content of "unsure" folder to move spam messages not correctly detected to
"Spam" folder and ham messages not correctly detected to both "inbox" and
"NonSpam" folders.
>From there on training of bogofilter on "Spam" and "NonSpam" folders is
automatically handled through a cron action each week by executing the
following script (I used Kcron to set this action) called
"training_bogofilter" :
#!/bin/sh
dir_data=/media/USER1_data/dmoyne_data/Mail_data/KDE_Mail/.Bogofilter.directory
kmail=/usr/lib/kde4/bin/kmail
#a) we train bogofilter on Spam and NonSpam folders
echo "training on Spam mail"
bogofilter -sv -B $dir_data/Spam/cur
echo "training on non-Spam mail"
bogofilter -nv -B $dir_data/NonSpam/cur
#b) we clean Spam and NonSpam folders only if KMail is not running
if [ "$(pidof $kmail)" ]
then
echo "KMail is running : we do not delete files as this might be
troublesome";
else
echo "KMail is not running : we delete content of Spam and NonSpam folders";
find $dir_data/NonSpam/cur -iname \*.* -exec rm {} \;
find $dir_data/Spam/cur -iname \*.* -exec rm {} \;
fi
#c) we display some information on bogofilter data base
echo "message count :"
#bogoutil -w ~/.bogofilter .MSG_COUNT
echo "wordlist.db :"
#bogoutil -d ~/.bogofilter/wordlist.db
echo "finished"
Of course variables "dir_data" and "kmail" have to be set according for each
user's setting.
You can see that in this script though training of bogofilter is all the time
executed I preferred to delete content of "Spam" and "NonSpam" folders only if
KMail was not running to avoid some possible conflict ; maybe such precaution
is not needed but due to the fact that the cron action will be repeated again
and again I found this appropriate.
So far I have tested the script that works but I will have to wait to say if
my cron action is properly managed.
Regards.
By the way can you use KDE-4 Kmail client to send signed messages ?
Daniel.
--
Daniel Moyne (Nulix)---------------------------------------------------------
Distribution : Ubuntu 8.04 Hardy Heron \\|||// Machine : x86_64
kernel 2.6.24-19-generic / --- \ ATI Radeon X300 Express
KDE 3.5.9 + 4.1 (test) (' o-o ')
----------------------------------------oOO-(_)-OOo--------------------------
_______________________________________________
Bogofilter mailing list
[email protected]
http://www.bogofilter.org/mailman/listinfo/bogofilter