Virtual Users And Domains With Postfix, MailScanner, Mailwatch & MySQL On CentOS 5.1

Version 1.0
Author: Oliver Meyer <o [dot] meyer [at] projektfarm [dot] de>

This document describes how to customize Falko's "Virtual Users And Domains" - setup for CentOS 5.1 so that it works with MailScanner and Mailwatch. The resulting system provides a web interface (Mailwatch) where you can manage quarantined emails, train SpamAssassin, edit the white- and blacklist, view configuration files and the detailed MySQL database status ...

This howto is a practical guide without any warranty - it doesn't cover the theoretical backgrounds. There are many ways to set up such a system - this is the way I chose.


1 Preparation Part I

Open and follow steps 1 - 10.


2 Preparation Part II

2.1 Install ClamAV

yum -y install clamav clamd unrar


2.2 Language Configuration

vi /etc/sysconfig/i18n






2.3 Get Mailscanner

Please have a look at to find out which is the latest version. When I was writing this howto, it was version 4.66.5-3.

cd /tmp/
tar xvf MailScanner-4.66.5-3.rpm.tar.gz


3 Install Mailscanner

cd /tmp/MailScanner-4.66.5-3

This will take a while...


4 Mailscanner Configuration

mv MailScanner.conf MailScanner.conf.orig
cat MailScanner.conf.orig | egrep ^[^#] > MailScanner.conf
vi /etc/MailScanner/MailScanner.conf

Change some parameters so that they look like this:

Run As User = postfix
Run As Group = postfix
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming
MTA = postfix
Incoming Work Group = clamav
Incoming Work Permissions = 0640
Virus Scanners = clamd
Clamd Socket = /tmp/clamd.socket
Clamd Lock File = /var/lock/subsys/clamd
SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin
Quarantine User = root
Quarantine Group = apache
Quarantine Permissions = 0660
Quarantine Whole Message = yes
Quarantine Whole Message As Queue Files = no
Detailed Spam Report = yes
Include Scores In SpamAssassin Report = yes
Spam Actions = store
High Scoring Spam Actions = store
Always Looked Up Last = &MailWatchLogging
Is Definitely Not Spam = &SQLWhitelist
Is Definitely Spam = &SQLBlacklist
Filename Rules = %etc-dir%/filename.rules
Filetype Rules = %etc-dir%/filetype.rules
Dangerous Content Scanning = %rules-dir%/content.scanning.rules

mkdir /var/spool/MailScanner/spamassassin/
chown -R postfix:postfix /var/spool/MailScanner/


5 Install Spamassassin

The MailScanner manual recommends to install spamassassin from .tar.gz or via perl shell. Some users reported problems with the .rpm-version.

perl -MCPAN -e shell

Answer "no" when you're asked if you are ready for manual configuration.

Enter the following within the perl shell:

o conf prerequisites_policy ask
install Net::DNS

Answer "no" when you're asked if you want to enable the online tests.

install Mail::SpamAssassin


6 Postfix Configuration

touch /etc/postfix/header_checks
echo "/^Received:/ HOLD" > /etc/postfix/header_checks
vi /etc/postfix/

Add the following line:

header_checks = regexp:/etc/postfix/header_checks

Afterwards stop postfix & sendmail and start ClamAV.

chkconfig postfix off
/etc/init.d/postfix stop
chkconfig sendmail off
service sendmail stop
chkconfig clamd on
/etc/init.d/clamd start

Share this page:

Suggested articles

0 Comment(s)

Add comment