To be continued - Controlling SPAM in my domains
Hi,
It is a bit difficult now to continue on a thread that doesn't exist anymore, but i'd like to recreate this thread for people to share best practices on controlling SPAM and setting up the Scores properly in SPAMASSASSIN.
In the old thread, I had a user by the name of richard (he still has to join the new forums again though) who discussed some methods in using the "sa-learn" command in SSH to teach the bayesian filters about uncaught spam.
If i remember correctly, the method he described was to create a folder under your mailbox called "uncaught" or something similar, and moving all SPAM messages that slipped through spamassassin in this folder.
The, to make SA aware of this, you run the command:
Code:
sa-learn -D --mbox --spam ~/mail/yourdomain.com/yourmailbox/uncaught
After running this command from SSH, SA will know about these messages that it let through, and eventually learn to mark these with a higher spam score.
richard can run this command on his bluehost account with no problems, but unfortunately, when I run this command on box77, I get some errors:
Code:
[31364] dbg: metadata: X-Spam-Relays-Trusted:
[31364] dbg: metadata: X-Spam-Relays-Untrusted:
[31364] dbg: message: ---- MIME PARSER START ----
[31364] dbg: message: main message type: text/plain
[31364] dbg: message: parsing normal part
[31364] dbg: message: added part, type: text/plain
[31364] dbg: message: ---- MIME PARSER END ----
[31364] dbg: message: no encoding detected
[31364] dbg: bayes: DB_File module not installed, cannot use bayes
Learned tokens from 0 message(s) (1 message(s) examined)
ERROR: the Bayes learn function returned an error, please re-run with -D for more information
Can anyone else confirm if this is working on their accounts, and how to enable the particular DB_File module?
And continue sharing new ideas please :D
Thanks!
Jacauc
Re-resurrecting the thread
I'm curious if there's a way to use MY spam as fodder for the ENTIRE domain in training using sa-learn?
Also, is there a way to upload my already-popped emails from Outlook BACK to the server for sa-learn training?
Thanks for your help!
Greg
Simple script for teaching your SPAMASSASIN daemon for all your domains
Hi guys!
I made a simple script for teaching your SPAMASSASIN daemon with HAM and SPAMUNCAUGTH from all the emails accounts of all your domains. It means with only one script you can add the "SPAM/HAM learning feature" to all your email accounts of all your domains.
Just set up the variables of the script with your preferences. Run it manually several times to see all is working ok and then run this script once a day using crontab and take a sit while your Spamassasin is learning ;P
If you have LOGDEBUG enabled, the script will return you something like this:
===== Checking /home/bluehostlogin/mail/elsotanillo.net/user1/.SpamHam ==========================
===== Checking /home/bluehostlogin/mail/elsotanillo.net/user1/.SpamNoCogido ==========================
===== Checking /home/bluehostlogin/mail/elsotanillo.net/user2/.SpamHam ==========================
Learned tokens from 0 message(s) (0 message(s) examined)
Learned tokens from 0 message(s) (0 message(s) examined)
===== Checking /home/bluehostlogin/mail/elsotanillo.net/user2/.SpamNoCogido ==========================
Learned tokens from 0 message(s) (0 message(s) examined)
Learned tokens from 3 message(s) (3 message(s) examined)
===== Checking /home/bluehostlogin/mail/elsotanillo.net/user3/.SpamHam ==========================
===== Checking /home/bluehostlogin/mail/elsotanillo.net/user3/.SpamNoCogido ==========================
===== Checking /home/bluehostlogin/mail/elsotanillo.net/user4/.SpamHam ==========================
===== Checking /home/bluehostlogin/mail/elsotanillo.net/user4/.SpamNoCogido ==========================
===== Checking /home/bluehostlogin/mail/the10thfloor.net/user1/.SpamHam ==========================
===== Checking /home/bluehostlogin/mail/the10thfloor.net/user1/.SpamNoCogido ==========================
Here you are the Script with instructions:
#!/bin/sh
# InstruirSpamAssassin.sh
# TEACH YOUR SPAMASSASSIN script for cpanel (www.bluehost.com in this case) hosting accounts
# This script teach your SPAMASSASIN daemon with HAM and SPAMUNCAUGTH from all the emails accounts of all your domains
#"THE BEER-WARE LICENSE" (Revision 42):
#Juan Sierra Pons wrote this file. As long as you retain this notice you
#can do whatever you want with this stuff. If we meet some day, and you
#think this stuff is worth it, you can buy me a beer in return.
#Juan Sierra Pons - juan [at} elsotanillo {dot] net
#http://www.elsotanillo.net/
#Original beerware license is due to Poul-Henning Kamp.
#SPAMASSASSIN CONFIGURATION
#1.- Turn On Spamassasin: cPanel->Email Manager->Spam Assassin-> "Enable Spam Assassin"
#2.- Turn on Bayes (auto learning for SA) "Configure Spam Assassin" -> check the box for "use-bayes".
#HOW TO SET UP USERS' EMAIL ACCOUNT
#### always use the same name for HAM and UnCaughtSpam for all yours users
# 1.- Create one folder for SPAMHAM
# 2.- Create one folder for SPAMUNCAUGTH
#USERS' INSTRUCTIONS
# 1.- Move all your UnCaughtSpam messages to your UnCaughtSpam folder
# 2.- Move all your HAM messages to your HAM folder
#HOW TO USE THIS SCRIPT:
# 1.- Fill the LOGIN variable
# 2.- Fill the SPAMHAMDIRECTORY variable
# 3.- Fill the SPAMUNCAUGTH variable
# 4.- Run this script using the crontab daemon once a day for example
# 5.- After you check all is running ok for you, you can comment LOGSALEARN and LOGDEBUG lines
########################## Variables ###########################
LOGIN="loginbluehost"
SPAMHAMDIRECTORY="SpamHam"
SPAMUNCAUGTH="SpamNoCogido"
### uncoment next line if you want to run sa-learn in verbose mode
#LOGSALEARN="-D"
### LOGDEBUG=0 if you wan to see which accounts are being checked - only for debugging pourposes
LOGDEBUG=0
### MOVESPAMHAMMESSAGES=0 if you want to move SPAMHAM messages to each INBOX directory after teach your spamassasin
MOVESPAMHAMMESSAGES=1
### CLEANSPAMUNCAUGTHMESSAGES=0 if you want clean SPAMUNCAUGTH directory after teach your spamassassin
CLEANSPAMUNCAUGTHMESSAGES=1
################################################## ##############
for i in /home/$LOGIN/mail/*/*
do
##### Teach SpamAssassin with HAM messages from SPAMHAM directory
if [ $LOGDEBUG = 0 ] ;then echo ===== Checking $i/.$SPAMHAMDIRECTORY ========================== ; fi
if test -d $i/.$SPAMHAMDIRECTORY/new; then nice -n 19 sa-learn $LOGSALEARN --ham --dir $i/.$SPAMHAMDIRECTORY/new; fi
if test -d $i/.$SPAMHAMDIRECTORY/cur; then nice -n 19 sa-learn $LOGSALEARN --ham --dir $i/.$SPAMHAMDIRECTORY/cur; fi
##### move SPAMHAM messages to each INBOX directory
if [ $MOVESPAMHAMMESSAGES = 0 ]
then mv $i/.$SPAMHAMDIRECTORY/new/* $i/new ;mv $i/.$SPAMHAMDIRECTORY/cur/* $i/cur
fi
##### Teach SpamAssassin from SPAMUNCAUGTH directory
if [ $LOGDEBUG = 0 ] ;then echo ===== Checking $i/.$SPAMUNCAUGTH ========================== ; fi
if test -d $i/.$SPAMUNCAUGTH/new; then nice -n 19 sa-learn $LOGSALEARN --spam --dir $i/.$SPAMUNCAUGTH/new; fi
if test -d $i/.$SPAMUNCAUGTH/cur; then nice -n 19 sa-learn $LOGSALEARN --spam --dir $i/.$SPAMUNCAUGTH/cur; fi
##### Clean SPAMUNCAUGTH directory
if [ $CLEANSPAMUNCAUGTHMESSAGES = 0 ]
then rm $i/.$SPAMUNCAUGTH/new/*;rm $i/.$SPAMUNCAUGTH/cur/*
fi
done
After you see all is working fine you can change MOVESPAMHAMMESSAGES and CLEANSPAMUNCAUGTHMESSAGES to move HAM to each inbox and to clean SpamUncaught directories. For security reasons they are not enabled by default.
Remember the license of the script ;)
Happy new year.
Juanillo
--
----------------------------------------------------------------------------
Linux User Registered: 257202
http://www.elsotanillo.net
----------------------------------------------------------------------------