Howdy ciaran,
I guess using the automated install script is not an option for you?
If not, here’s the basics:
Postfix, default installation and configuration on almost every Linux distro in existence is fine. You just need to set virtual_alias_maps to "hash:/etc/postfix/virtual" (or whatever an appropriate path on your OS is).
For pickup, you need Dovecot. Install it, and set the POP3 UID if it isn’t already set. Start it.
For SASL, install the cyrus-saslauthd package (at least, that’s what it’s called on most systems). Configuring it is different on every single OS and most versions, so I can’t give you any specifics…you might check the FAQ for the entry there about SASL on Red Hat based systems, or search the forum here for several posts about running it on Debian. This is actually the only difficult part of mail service with Virtualmin–and it’s not hard once you know where everything lives. It’s just such a poorly documented process and lacking in standards.
That’s all you need for MTA, POP/IMAP, and SMTP Authentication. If you want to do interest stuff before delivery (like Spam/AV scanning) you’ll want to also install Procmail. I’ve provided some tips on basic mail processing using procmail here in the forums, and I’m happy to answer questions.
There is a mail setup script for all supported operating systems here:
http://software.virtualmin.com/lib/mail-setup.pl
You don’t want to run it on an unsupported OS, as it won’t know where to find all the right bits. But you can see exactly what steps we take to set things up during our automated install process.
Don’t let things intimidate you–mail under Virtualmin is pretty much exactly the defaults for all of the systems we support. We try very hard to stick with a sane, and simple, toolchain for all of the services Virtualmin manages. We don’t like elaborate and overly complex solutions.