Articles

Linux and Zimbra

I forget how many times I’ve switched email client over the years, but I seem to have cycled over the options I’m aware of at least twice. Each time I end up circling back to the same choice, Zimbra. Some will recognise the name and recall that it’s been around for quite some time. Zimbra is a commercial mail system with an Open Source version and it’s the Open Source version I’m referring to here.

The difference between Zimbra and other clients you may have come across such as Thunderbird, Evolution and MailSpring, is Zimbra isn’t just a mail client but an entire system. By this I mean it’s a mail client, and a mail server (and anti-spam system, and anti-virus system) and it’s all provided as a single installation. Whereas Thunderbird, Evolution and MailSpring are all very good, as a very heavy user with large mailboxes I’ve had technical difficulties with all three over the years. Zimbra on the other hand has been rock solid and provides many features other clients (without an integrated server) are unable to match.

Unlike other email clients you may have used, Zimbra works (and has always worked) as a single page application. Much like a native application, everything happens on one page and there is no page switching as you navigate between different parts of the program. Different parts of the screen update as required as opposed to linking to a new page. Also, whereas you tend to find there are many more features in local mail applications than webmail systems, this is typically not the case with Zimbra which is loaded with functionality. It also has a collection of contributed plugins (Zimlets) that can be installed and made available to the webmail client. (and there’s an API / toolkit if you wish to write your own)

Also worth noting that the look of the user interface has changed little (if at all) over the last 10 years. On the one hand it may look a little dated compared to the latest software (MailSpring for example), but on the other hand; “if ain’t broke, don’t fix it!”

In day-to-day use, there’s not much difference between the various options, they all allow you to read and send email, they all let you insert attachments, mark as spam, organise with folders etc.

The devil as they say is in the detail, it’s all the little extras that make the difference. Most of these stem from the fact that Zimbra is sitting atop an integrated mail server which is based on industry standard components. Pages are served by Apache, data is indexed and stored by MySQL, directory services by OpenLDAP and anti-virus/spam protection by Amavis. As a result, my mailboxes which contain hundreds of thousands of messages (20+ years) is still perfectly navigable and performant. Having used the same collection of emails with other clients, I’ve found this to be quite a rare feat.

As it’s a client-server setup, the other interesting feature is that you can create accounts for multiple users and take advantage of the sharing options to run truly shared folders (ideal for team based or small company scenarios). The same is true for Contacts, Calendars and Tasks which all come as a part of the package.

Whereas setting up a Zimbra server is not for the feint of heart, for a commercial setup it’s not beyond the reach of your average sysadmin, indeed it’s not all that different to setting up an Exchange server. If anything overall deployment is easier as it doesn’t need a copy of the mail client to be installed on each workstation.

There are so many features (before even looking at add-on’s) it would probably be easier to discuss what it doesn’t do and it’s weaknesses rather than to run through the feature list.

To that end I’ll try to summarise the features and some of the shortcomings and leave comments open at the end, maybe answered questions will prove more useful than hundreds of “and it also does …”.

Pro’s / Features

  • Browser based reader for fully featured multi-media email
  • Integrated spelling checker with option for force a check before sending
  • Multiple accounts, has the ability to pull email from external IMAP/POP accounts
  • Multiple aliases, can manage different identities within a mail account
  • Integrated signatures, multiple with intelligent tagging to aliases
  • Anti-Spam and Anti-Virus at server level and in the client
  • Integrated Contacts, Calendar, Tasks, with the ability to share between users
  • Complex mail filters, Out of office, Local import / export
  • Complex search functionality, searches can be saved as dynamic virtual folders
  • Folders can be created from RSS / ATOM feeds for integrating news feeds with email
  • Multiple views / layouts, multiple themes and colour schemes
  • The ability to tag messages which implicitly creates virtual folders based on emails attached to the tag
  • Has a proxy facility so you can establish a public beach-head and store you actual mail / server somewhere secure
  • You host the mail server and choose where it’s stored and how it’s backed up
  • Your personal messages will NOT be indexed for your convenience by your friendly cloud service provider

Con’s

  • Needs a relatively beefy machine to run on, will work in 4Gb, for any sort of workload really wants 8Gb
  • Integrated backups are a commercial feature so you need ‘some’ sysadmin intervention for mail backups
  • Setting up a mailserver requires more in-depth knowledge of mail systems than your average client
  • Calendar / Contact syncing with Google can be done, but is non-trivial
  • 2FA authentication is a plugin for the Open Source version, installation is non-trivial

Summary

If you have a very small outfit then probably a hosted version of Zimbra where you rent email by the mailbox might be appropriate. Zimbra’s strength lies in larger installations where one might consider a local Exchange server or you might want to store commercially sensitive information somewhere physically secure.

About the author

Gareth Bult

Gareth is a long time Linux User and enthusiast and currently works for Mad Penguin Consulting Ltd as a Full-stack / Python developer.