Nethence Documentation Lab Webmail Your IP BBDock  


Those documents are obsolete, please use the Nethence Documentation instead.

HomeUnixWindowsOracleObsoleteHardwareDIYMechanicsScriptsConfigsPrivate

Setting up SpamProbe bayesian spam filtering on FreeBSD
 
Installation
Make sure it is installed,
pkg_info | grep spamprobe
 
Configuration
Create a folder for SpamProbe to store it's Berkeley DB databases,
cd ~/
mkdir -p .spamprobe/
 
Setup your procmail Local Delivery Agent so it calls SpamProbe to filter incomming messages,
cd ~/
vi .procmailrc
at some point at the beginning of the rule sets, add,
# Invoke spamprobe
:0
SCORE=| spamprobe train

:0 wf
| formail -I "X-SpamProbe: $SCORE"

:0 a:
*^X-SpamProbe: SPAM
.spam.spamprobe/
 
Ready to go
Send a test email to the recipient while reading the procmail logs e.g.,
cd ~/
tail -F .procmailrc.log.2013
 
Learn, unlearn and long-term maintenance
Prepare a script to be executed nightly by the cron daemon,
mkdir -p ~/bin/
cd ~/bin/
cat > spamprobe.sh <EOF9
#!/bin/sh

IMAPDIR=$HOME/Maildir

spamprobe remove $IMAPDIR/.remove/
spamprobe good $IMAPDIR/.nonspam/
spamprobe spam $IMAPDIR/.spam/
spamprobe train-spam $IMAPDIR/.spamprobe/
EOF9
 
It's also good to proceed with some clean-ups of words that haven't been seen as spam in the last two weeks (first option, commented out) or even six monthes (hereby enabled).
 
Configure the cron tab for the mail user,
crontab -e
PATH=/sbin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$HOME/bin
02 00 * * * spamprobe.sh
#03 00 * * * spamprobe cleanup 2 14
03 00 * * * spamprobe cleanup 1000 180 2 14
 
References
Welcome to SpamProbe - A Fast Bayesian Spam Filter
spamprobe(1)
SpamProbe v1.4 README
 

Last update: Jan 27, 2014