If you plan to run amavisd-new, you don't need to run spamassassin separately (usually via spamd). Amavisd-new calls spamassassin internally to scan messages. You can also install clamav and enable virus scanning in the configuration file. RUNTIME DEPENDENCIES: ZeroMQ library -- since amavisd-new version > 2.8.x, depends heavily on ZeroMQ. OPTIONAL DEPENDENCIES: FOR SPAMASSASSIN: See https://slackbuilds.org/slackbuilds/15.0/network/spamassassin/README FOR AMAVISD-NEW: p0f perl-Convert-UUlib (if you need do_ascii, which is unsafe) unrar p7zip or 7zip SLACKBUILD CHANGELOG: Script and package changes introduced in version >= 2.6.6 1. logrotate file is renamed amavisd-new. 2. rc script is renamed to rc.amavisd-new 3. logfile in the logrotate script is renamed to amavisd-new.log. Make sure you change the logfile in the amavisd.conf file and rename the log file. Look for, $LOGFILE directive in the configuration file. 4. Remember to update your rc.local and rc.local_shutdown scripts accordingly. 5. With version 2.7, a new process amavisd-signer is spawned to take care of dkim signing. Please read RELEASE_NOTES in the documentation. 6. With version > 2.8, rc script has been overhauled to start 3 daemons, more notes are in the rc script. SETUP: 1. Create amavis user/group, before running the script. You don't have to follow uid/gid strictly. This is just an example, you may as well use any other uid/gid combination. groupadd -r -g 211 amavis useradd -r -d -m /var/lib/amavis -s /bin/bash -u 211 -g 211 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. 7. You can turn on debugging in log file with $sa_debug configuration variable in /etc/amavisd.conf.