Spamassassin on CentOS 6

From vpsget wiki
Revision as of 12:29, 26 August 2015 by Vq (talk | contribs)
Jump to: navigation, search

Installation

Firstly you need to update your OS distribution to latest version:

yum update -y

Install Spamassassin:

yum install spamassassin

Configuration

Open spamassassin configuration file:

nano /etc/mail/spamassassin/local.cf

Uncomment or add the following lines:

required_hits 5.0
report_safe 0
required_score 5
rewrite_header Subject [SPAM]

Add user and group for spamassassin and change owner of log directory:

groupadd spamd
useradd -g spamd -s /bin/false -d /var/log/spamassassin spamd
chown spamd:spamd /var/log/spamassassin

Integration to Postfix

Open postfix master.cf file:

nano /etc/postfix/master.cf

We should now change the master.cf file to look as follows:

# ====================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#                      (yes)   (yes)     (yes)    (never)   (100)
# ====================================================================
smtp        inet   n           -           n          -             -    smtpd -o content_filter=spamassassin

At the bottom of this file we should add the following line:

spamassassin unix - n n - - pipe flags=R user=spamd argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

Before starting the spamassassin service use this command:

sa-update && /etc/init.d/spamassassin reload

Now you can to start spamassassin:

/etc/init.d/postfix reload
/etc/init.d/spamassassin reload

Testing

Create an email from any address and service outside of your domain, e.g. Yahoo or Gmail. Address the email to an email address on the newly-configured mail server, then within the subject line we can use the following test string:

XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

If you will see [SPAM] in the subject line, Spamassassin work correctly.

Discard spam

If you see that only a real spam is being marked as spam, you can configure postfix to discard that mails and forget about spam.

Open the file /etc/postfix/main.cf and add this line (if it is not already present):

header_checks = regexp:/etc/postfix/header_checks

Open the file /etc/postfix/header_checks and add this line (if it is not already present):

/^X-Spam-Flag:.YES/ DISCARD spam

Restart postfix

service postfix restart