Fully FOSS EMail solution

emailemail-serveropen source

I am looking at various FOSS options to build a robust EMail solution for a government funded university. Commercial options are to be chosen only in the worst case scenario. Here are the requirements:

  • Approx 1000-1500 users – Postfix or Exim? (Sendmail is out;-))
  • Mailing lists for different groups/Need web based archive – Mailman? Sympa?
  • Centralised identity store – OpenLDAP? Fedora 389DS?
  • Secure IMAP only – no POP3 required – Courier? Dovecot? Cyrus??
  • Anti Spam – SpamAssasin? what else?
  • Calendaring – ??
  • webmail – good to have, not mandatory – needs to be very secure…so squirrelmail is out;-)?

Other questions:

  • What mailbox storage format to use? where to store? database/file system?
  • Simple and effective HA options? Is there a web proxy equivalent to squid in the mail server world? software load balancers?CARP?
  • Monitoring and alert?
  • Backup?

The govt wants to stimulate the local economy by buying hardware locally from whitebox vendors. Also local consultants and university students will do the integration. We looked at out-of-the-box integrated solutions like Axigen, Zimbra and GMail but each was ruled out in favour of a DIY approach in the hopes of full control over the data and avoiding vendor lockin – which i though was a smart thing to do. I wish more provincial governments in the developing world think of these sort of initiatives

As for OS – Debian, FreeBSD would be first preference. Commercial OS's need not apply. CentOS as second tier option…

Best Answer

You're best off sticking to "standards" as much as possible, in my eyes that means;

  • MTA: Postfix
  • IMAP: dovecot
  • Auth/routing/etc: OpenLDAP
  • Mailing lists: mailman
  • Spam/virus: amavis + clamav + $commercial_scanner + SpamAssassin
  • Webmail: Squirrelmail is probably your best option. You could try Roundcube.
  • Calendaring: just use Zimbra if you want calendaring.
  • Mailbox storage: Some flavour of maildir, on the filesystem. Don't use a database. Metadata is fine to live in a database but messages belong on the filesystem.
  • Proxying/routing inbound requests: nginx or perdition
  • HA: that's more complex. DRBD + heartbeat between a pair of servers for the backend mailbox storage.

Don't use unmaintained/out of date software, and don't install this kind of stuff from source - use your distro's packages. Your future sysadmins will thank you.

Using obscure software just makes it that much harder for the next person to maintain the system. Brian is spot on with his comment above.

Interested to know why Zimbra was discounted? It is open source after all. I've migrated a couple of "roll your own" installs onto Zimbra and it's much nicer than doing the integration yourself. Zimbra is worth it for the web interface alone.

Related Topic