DEPENDENCIES: FOR SPAMASSASSIN (please install in this order): perl-Test-Pod, perl-Encode-Detect, perl-Image-Info, perl-TimeDate, perl-Test-Simple, perl-Net-libIDN, Net-SSLeay, perl-Socket6, perl-IO-Socket-SSL, perl-IO-Socket-INET6, perl-Crypt-OpenSSL-Bignum, perl-Crypt-OpenSSL-Random, perl-Crypt-OpenSSL-RSA, perl-DB-File, perl-DBI, perl-Digest-SHA, perl-Geography-Countries, perl-IP-Country, perl-IO, perl-URI, perl-digest-sha1, perl-digest-hmac, perl-html-tagset, perl-html-parser, perl-libnet, re2c, libwww-perl, perl-NetAddr-IP, perl-Net-Server, perl-Net-Ident, perl-MailTools, perl-net-ip, perl-net-dns, perl-Net-DNS-Resolver-Programmable, perl-Mail-SPF, perl-Mail-DKIM, spamassassin FOR AMAVISD-NEW (please install in this order): perl-Convert-TNEF, perl-Convert-UUlib, perl-Convert-BinHex, perl-Archive-Zip, perl-IO-stringy, perl-MIME-tools, perl-Unix-Syslog, perl-BerkeleyDB SETUP: 1. Create amavis user/group, before running the script. groupadd -g 225 amavis useradd -d -m /var/lib/amavis -s /bin/bash -u 225 -g 225 amavis 2. Make sure you have write perms for amavis group to amavis home (in this case, /var/lib/amavis) 3. Create /var/log/amavisd.log file, change perms to allow write access to amavisd user/group. 4. Add amavis user to clamav group and set "AllowSupplementaryGroups yes" in fresclam.conf to allow amavis to scan messages. 5. To scan messages using spamassassin, you need to provide write access to amavis user to /var/lib/spamassassin, which is the default. If the directory doesn't exist, it will be created by spamassassin but the permissions will correspond to the user invoking it. 6. Edit /etc/amavisd.conf. Verbose version of config file is included to aid in configuration.