My home server does this using fetchmail -> postfix -> procmail -> dovecot. I would reccomend this setup for small amounts of users.
At work we use exim (MX) -> exim (MDA) -> procmail -> 2xdovecot servers in round robin cluster. This is perfect for the 6000 mail accounts we have there, in fact it has the capacity to deal with 100 times its average mail input as was tested when someones exchange server cacked up. Not bad when this setup uses just 3x1GHz ViA EPIAs (MX servers run off the dovecot servers).
I'm a big fan of dovecot. Partly because it is so easy/fast/secure and about the only IMAP server that works using NFS/LVS clustering, and partly because I help develop it.