Spam filtering on Courier mail server with SpamAssassin


We asked me to install a spam filtering solution on a courier-mta mail server. Since dspam project seems to be inactive I choose to give a shot to one of the most known solution : SpamAssassin. I've worked on a Debian Linux distribution.



We will use maildrop MDA in order to redirect mail to our SpamAssassin filter.

maildrop activation

echo "|/usr/bin/maildrop" | sudo tee -a /var/vmail/


import HOME
import USER
if ( /^To: .*shebang.thedolphins@mydomain\.net.*/ && $SIZE < 256000 )
	#won't work with vmail users, to avoid "spamd: handle_user (userdir) unable to find user:" message
        #xfilter "/usr/bin/spamc -u $USER" 
        xfilter "/usr/bin/spamc"
#Optional : if we want, detected spams could be moved to a specific folder :
#if ( /^X-Spam-Status: Yes/ )
#       to "$HOME/Maildir/.SpamAssassin/"



root@host:~# apt-get install spamassassin spamc

Create working folder and set rights

root@host:~# su - vmail/
vmail@host:~$ mkdir .spamassassin/
vmail@host:~$ chmod -R ugo+w .spamassassin/


root@host:~# mkdir /var/log/spamassassin/; groupadd spamd; useradd -g spamd -s /bin/false -d /var/log/spamassassin spamd; chown spamd:spamd /var/log/spamassassin


rewrite_header Subject *****SPAM*****
report_safe 0 


OPTIONS="--create-prefs --max-children 2 --username spamd -H /var/log/spamassassin/ -s /var/log/spamassassin/spamd.log"
root@host:~# systemctl restart spamassassin

Train our SpamAssassin filter


#! /bin/bash

#Mails in Spam folder are Spams
sa-learn --no-sync --spam /var/vmail/{cur,new}
#Mails in Nospam folder are legit emails
sa-learn --no-sync --ham /var/vmail/{cur,new}
#Once processed as spam we put mails in trash folder
for i in /var/vmail/{cur,new}/*; do
        mv "$i" /var/vmail/
#Once processed as legit we put mails in INBOX
for i in /var/vmail/{cur,new}/*; do
        mv "$i" /var/vmail/


*/15 *  * * *   root    /usr/local/sbin/


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :