A while ago I decided to experiment with email servers under Linux. I figured that in the ideal situation email from several accounts is collected in one place. And if I download the email and store it somewhere, I also build an information archive. Furthermore it would be nice if I can access my email with mobile devices (smartphone and tablet) as well.
Years ago I installed Postfix in combination with Dovecot on my own Linux server. I used Getmail to download email from several accounts, which is then accessable via IMAP on the Dovecot server. This did have some drawbacks though:
So then I continued my search and I found Zarafa. It is an open source email server with all kinds of added functionality. It even comes with Outlook connector support, so Microsoft Outlook can connect to it like it would connect to an Exchange server. While switching from the Postfix + Dovecot approach to Zarafa, I also switched from "system user" account to virtual users. Virtual users are users that have a Zarafa login account, but they are not users that can actually login to the underlying Linux system.
I am still using Zarafa, but now as part of the Zentyal software. Zentyal is a "Linux Small Business Server". It offers email functionality, but also other interesting things like VPN, firewall and LDAP. It is actually build on top of the Ubuntu Linux distribution. I use Zentyal mainly for Zarafa, although I also experimented with the other features. The advantage of using Zarafa as part of Zentyal, is that Zentyal builds Zarafa as Ubuntu packages. This makes it a whole lot easier to update/upgrade Zarafa when a new version is released. Zentyal also uses Postfix as the core mail server, which I was already familiar with. I am using Getmail to get email from other accounts into my own email server. I am also using Zarafa's Z-push to access my email from my smartphone.