I just finished setting up a new mail server at work. I’m hoping to replace our current e-mail servers (1 exchange server for internal mail & 1 outsourced for external), so to help sell the idea I wanted to install all of the latest anti-spam solutions.
I ended up choosing Postfix, clamsmtp, ClamAV (clamd), SpamAssassin (spamc + spamd), Maildrop, and Courier-IMAP. I tried using amavisd-new to tie everything together, but it was such a hideous confusing mess I gave up. Using clamsmtp to pass mail to ClamAV works flawlessly and maildrop made using SpamAssassin a 1-line process.
I made a diagram of the whole mail delivery process which you can download as a PDF or ODG (OpenOffice.org Draw) document. Sorry if its hideous — I made this mainly just to wrap my head around what was going on.
Its worth noting that I’m using all local users and mailboxes (nothing virtual). Thanks to winbind, both Postfix and Courier authenticate users against Active Directory. The only thing I haven’t automated is creating users’ home directories on the server, but thats easily scripted.