I use Exim (cause it's installed by default in debian; hey why not?) as MTA, Courier for IMAP/POP3, procmail for MDA (where I sort stuff into folders, run spamassassin, ClamAV, etc)

I can recommend Courier; I like it a lot. I don't know how it will scale as I only have 3 users. I tried Cyrus but it seemed odd to me, so I tried Courier. I use SquirrelMail for webmail (which talks IMAP to Courier). I use fetchmail to snag mail from all my other accounts (work, ISP) and deliver them to my local account where procmail sorts them into the appropriate IMAP folder.

I'm not necessarily endorsing this config, but it works very well for me. I've not used anything but Exim so my experience there is limited.

As for clients (other than squirrelmail) I use Evolution (to IMAP), PocketPC (to IMAP over WiFi) and sometimes Pine (to IMAP).
_________________________
Hello, my name is Bingo. I like to climb on things. Can I have a banana? eek eek.