In this article, we’ll explain how to install SpamAssassin with Postfix on Ubuntu 20.04.
Apache SpamAssassin is the #1 Open Source anti-spam platform giving system administrators a filter to classify email and block spam (unsolicited bulk email). It uses a robust scoring framework and plug-ins to integrate a wide range of advanced heuristic and statistical analysis tests on email headers and body text including text analysis, Bayesian filtering, DNS blocklists, and collaborative filtering databases.
Prerequisites
- A Ubuntu installed server with Postfix
- A root user access or normal user with administrative privileges.
Install SpamAssassin with Postfix on Ubuntu
1. Keep the server up to date
# apt update -y && apt upgrade -y
2. Install SpamAssassin
Install SpamAssassin using following command.
# apt-get install spamassassin spamc -y
Add one user to assign to SpamAssassin and disable the login.
# adduser spamd –disabled-login
3. Configure SpamAssassin
Now let’s assign newly created user spamd to SpamAssassin and set the log and default home directories.
First, open SpamAssassin configuration file in editor.
# vim /etc/default/spamassassin
Find ENABLED=1 and uncomment it and set it to 0.
# ENABLED=0
Second, find OPTIONS= and add home directory and log file.
# OPTIONS=”–create-prefs –max-children 5 –username spamd –helper-home-dir /home/spamd/ -s /home/spamd/spamd.log”
Finally, find CRON=0 and set to 1.
# CRON=1
Now save and exit the file.
Take a back of SpamAssassin local configuration file and create a new SpamAssassin local configuration file using following command:
# mv /etc/spamassassin/local.cf /etc/spamassassin/local.cf.bk
# vim /etc/spamassassin/local.cf
Copy and paste following lines in the file:
rewrite_header Subject ***** SPAM _SCORE_ *****
report_safe 0
required_score 5.0
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1
skip_rbl_checks 0
use_razor2 0
use_dcc 0
use_pyzor 0
ifplugin Mail::SpamAssassin::Plugin::Shortcircuit
endif
Save and exit the file.
4. Configure Postfix
1. Edit your Postfix configuration file.
# /etc/postfix/master.cf
2. Find following entries:
smtp inet n - y - - smtpd
#smtp inet n - y - 1 postscreen
#smtpd pass - - y - - smtpd
#dnsblog unix - - y - 0 dnsblog
#tlsproxy unix - - y - 0 tlsproxy
submission inet n - y - - smtpd
3. Below the smtp configuration, add a SpamAssassin content filter.
smtp inet n - y - - smtpd
-o content_filter=spamassassin
spamassassin unix - n n - - pipe
user=spamd argv=/usr/bin/spamc -f -e
/usr/sbin/sendmail -oi -f ${sender} ${recipient}
Save and exit the file.
4. Restart Postfix and enable SpamAssassin to run at system startup.
# systemctl restart postfix.service
# systemctl enable spamassassin.service
# systemctl start spamassassin.service
That’s it. The installation and configuration process has been completed successfully.
In this article, we have explained how to install SpamAssassin with Postfix on Ubuntu 20.04.