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.