It’s probably worth pointing out at this juncture that this is for Debian GNU/Linux. I like Debian, and it works. Ubuntu’s not dissimilar to Debian, so the instructions should (on the whole) work for that too.

I’m also working on getting this configuration into a set of Ansible roles.

Postfix

Dovecot - in August 2013, I switched from Courier-IMAP to Dovecot

Amavis

PostGrey

Mailman

Alias management

Backup MX