Amavisd-new, ClamAV and SpamAssassin with Postfix on CentOS 6.7 Server

What is amavisd-new, ClamAV and SpamAssassin?

amavisd-new is a high-performance interface between mailer (MTA) and content checkers: virus scanners, and/or SpamAssassin.

Clam AntiVirus (ClamAV) is a free and open-source, cross-platform antivirus software toolkit able to detect many types of malicious software, including viruses. One of its main uses is on mail servers as a server-side email virus scanner.

SpamAssassin is a mail filter to identify spam. It is an intelligent email filter which uses a diverse range of tests to identify unsolicited bulk email, more commonly known as Spam.


yum install amavisd-new

☑ This will install amavisd-new and a bunch of dependencies. It will also install SpamAssassin by default.

yum install clamav clamav-update

☑ This will install ClamAV.


☑ This will update the ClamAV database.


☑ Edit amavisd.conf.

vim /etc/amavisd/amavisd.conf

Change the following lines like this…

$mydomain = ‘’;   # a convenient default for other settings
$myhostname = '’;  # must be a fully-qualified domain name and same as reverse DNS lookup

☑ Make sure everything is set in postfix’s configuration file

vim /etc/postfix/

On top of, you should have something like…

smtp      inet  n       -       n       -       -       smtpd
 -o smtpd_sasl_auth_enable=yes
 -o receive_override_options=no_address_mappings
 -o content_filter=smtp-amavis:

…and on bottom, you should have something like…

# spam/virus section
smtp-amavis  unix  -    -       y       -       2       smtp
 -o smtp_data_done_timeout=1200
 -o disable_dns_lookups=yes
 -o smtp_send_xforward_command=yes inet n  -       y       -       -       smtpd
 -o content_filter=
 -o smtpd_helo_restrictions=
 -o smtpd_sender_restrictions=
 -o smtpd_recipient_restrictions=permit_mynetworks,reject
 -o mynetworks=
 -o smtpd_error_sleep_time=0
 -o smtpd_soft_error_limit=1001
 -o smtpd_hard_error_limit=1000
 -o receive_override_options=no_header_body_checks
 -o smtpd_helo_required=no
 -o smtpd_client_restrictions=
 -o smtpd_restriction_classes=
 -o disable_vrfy_command=no
 -o strict_rfc821_envelopes=yes

☑ Stop the postfix daemon.

service postfix stop

☑ Start Spamassassin, Amavisd-new and ClamAV daemons.

service spamassassin start
service amavisd start # This will also start ClamAV

☑ Start the postfix daemon.

service postfix start

That’s it! Now you have a basic spam and virus protection up and running on your CentOS server. ?

How to fix CentOS Yum Error – “4 is not a valid release”

After CentOS 4 hit End of Life in February (No updates after 29 February 2012), you may have noticed the following error coming from the “yum” installer:
not using ftp, http[s], or file for repos, skipping – 4 is not a valid release or hasn’t been released yet

However, there is very easy way to get “yum” working again without upgrading everything to newer version of CentOS.

  1. Login to your server/SSH using root
  2. Open /etc/yum.repos.d/CentOS-Base.repo in an editor (vi/vim)
  3. Comment out the “mirrorlist” entries
  4. Uncomment the “baseurl” entries and change them to$basearch

That’s it!