If you are using *nix I have heard good things about qmail and Courier Imap. You can also try using procmail and aliasing to create virtual accounts. Say each time someon registers... an alias file gets written too as well as a procmailrc file (takes the To: header and figures out which directory to put the email). So it would work like this:
User Registers
- Alias File is written to saying to put
anymail for this username and send it
to a real unix account. Also write
a procmail file so that when the email
goes to that real persons account its
forwarded into the virtual users "mailbox"
- Reload mailserver files so that it sees the new aliased account
Email comes in
User Checks email
I am making an email system to this end. (Although it still needs work). But you can still take some of those systems you found and "tweak" them as long as its GPL 🙂.
Hope this Helps!