I have recently configured several CentOS virtual mail servers. It took me quite a while to figure it out the first time or two, but has gotten significantly easier since then. Initially, I pieced information together from a half-dozen or so various other howto’s that were either designed for a different distro, or were outdated (or both).
So when I put together another server last night, I made careful notes when installing it and generated a howto document. It walks a user all the way from a clean CentOS 5 install, through to a functioning virtual mail server. It uses postfixadmin as a web interface for managing the domains and accounts. All domain and user information is stored in a MySQL database. Postfix is installed for the MTA, and Dovecot for the POP3/IMAP server. It doesn’t require system accounts for any of the users. All mail services are accessible over encrypted SSL/TLS protocols.
I spent the whole day today stepping through DomainKeys, DKIM, and SPF for a customer to make sure that they were all set up and working properly. I found a couple of the existing tools available on the Internet didn’t test them properly and didn’t give enough explanation when they failed.
So, I went about creating some of my own tests using a bunch of Perl modules. I finally fixed a couple issues that I think were causing problems for this customer. Gmail and Yahoo are now delivering the messages anyway. Hotmail is still a mystery (no surprise since its from Microsoft). Their troubleshooting website is full of talk about how great their service is, but there is a huge lack of anything technical on the site.
Anyway, I made all of these nifty testers and figured that others might like to use them. So I created a way for others to send mail to it, and a web interface that you can view all of them results. I’ve added it as a link to the top of my website.