Open source email clients

by Elena Blanco on 1 July 2005 , last updated

Archived This page has been archived. Its content will not be updated. Further details of our archive policy.

Introduction

The first electronic mail (email) message was sent between computers on a network in the early 1970s. It is doubtful whether any of the pioneers involved at this time had a real appreciation of how the use of email would eventually be taken up and widely adopted. In universities and businesses the world over email has become the preferred mode of communication, often taking over from the telephone. Many users of email cite the fact that it provides a record of interactions, like a crude audit trail, as the most compelling reason for choosing it over the telephone. For others it is the ability to easily and efficiently deal with people in other time zones that brings the most benefit.

An email client, or Mail User Agent (MUA), is a program that accesses email stored on a (usually) remote server and is used to send and receive email messages. In some organizations, the email client is a component of a larger groupware solution that integrates email with calendaring and group working tools. But for others their choice of email client is a very personal matter; as an intensively used communication tool particular features of a particular email client can become very important to the user.

IMAP and POP

Before discussing some of the popular open source email clients in use, it is useful to understand a little of the protocols used by email clients. This helps to differentiate between two distinct classes of email client. Email clients are often billed as being a POP (Post Office Protocol) or IMAP (Internet Message Access Protocol) client. (Nowadays, when we talk about IMAP we generally mean the updated IMAP4 protocol and when we talk about POP we mean the POP3 protocol.) The POP and IMAP protocols relate specifically to the way that a client downloads the messages from a server. A POP client is usually configured to download email from the email server to the client machine, removing it from the server whilst doing so. It is possible to configure a POP client to leave the email messages on the server but it was really never designed for this and is not recommended. If there is a requirement to leave the email messages on the server then an IMAP client should be used as the IMAP protocol has been optimized to store email on the server. The implications of these two distinct ways of working are many but some include:

  • POP clients will store email on the local client machine, usually a user’s computer, so email messages are more vulnerable to loss unless adequate backup procedures are in place on the user’s computer.
  • POP clients only allow one connection to a particular mailbox on the server at any one time. This means that it is not possible for someone to leave, for example, their office computer connected to their email using a POP client and then to try and access it from a different machine.
  • IMAP allows multiple connections to the same mailbox allowing a user to access mail simultaneously from two different machines or clients.
  • IMAP clients allow the user to work in two different modes, connected and disconnected, so although POP was designed to cater for users with intermittent Internet connections IMAP also allows a mode of working where a user connects to see new email and then disconnects to read and compose messages offline. However, the IMAP client has only downloaded a copy of the messages for offline viewing, the real messages are still on the server whilst a POP client would have downloaded the messages to the local machine and then deleted them on the server.
  • IMAP natively supports encrypted login mechanisms so that passwords are sent in an encrypted form although the transmission of plain text passwords is also supported. It is also possible to encrypt all IMAP traffic between the server and the client using the Secure Sockets Layer (SSL) for added security.

Both of these protocols are supported by virtually all modern email clients and servers. It is not uncommon for system administrators providing the server end to deprecate the use of POP. It is simply not as sophisticated as IMAP and places the onus of backup on the client which often contravenes institutional conventions.

In some cases, particularly in proprietary groupware solutions, proprietary protocols are used between the client and the server. For example Microsoft’s Outlook client communicates with an Exchange server using a proprietary protocol, as does an IBM Notes client and a Domino server, but these products also support IMAP and POP, allowing interoperability with other servers and clients if so desired.

In recent years other proprietary email protocols have grown up implementing what is generally known as ‘push’ email. Rather than waiting to be contacted by a mail client, ‘push’ email servers (usually implemented as an additional piece of software running alongside a traditional mail server) determine when new mail has arrived for a user, initiates a connection to the user’s mail client and delivers a copy of the email. This kind of mail delivery became widely known with the advent of Research In Motion’s (RIM) Blackberry mobile devices and the corresponding push email server Blackberry Enterprise Server. In response to RIM’s success many mobile manufacturers and service providers have implemented push email solutions for their customers. Sometimes this is achieved using a proprietary protocol or solution and sometimes by employing the common IMAP extension command IDLE, which tells the server that the client wishes to keep its connection to the server open and receive information about new emails as they arrive.

Whether using POP or IMAP to retrieve messages, email clients use the Simple Mail Transfer Protocol (SMTP) to send messages.

MIME

Another important protocol used and supported by most email clients is Multipurpose Internet Mail Extensions (MIME). MIME is an Internet standard that describes the format of email and allows information other than the characters used for the English language to be transmitted in email messages. In particular it enables the sending of binary attachments to email messages. These attachments are files that are not part of the email proper, but are sent with the email and can be understood by a MIME compliant email client. Virtually all Internet email is transmitted in MIME format via the underlying SMTP protocol and is so closely associated with SMTP and MIME that it is sometimes referred to as SMTP/MIME email.

There is another important protocol that is growing in use, S/MIME (Secure/Multipurpose Internet Mail Extensions), which is a standard for public key encryption and the digital signing of email encapsulated in MIME. Client support for this protocol is important where security is a prime consideration.

Now that we understand some of the protocols involved we can look at some leading open source email clients.

Thunderbird

Thunderbird is an open source email client developed by the Mozilla Foundation. In common with the Mozilla Foundation’s other products such as its web browser, Firefox, it stands out in terms of its cross platform support, being available for Windows, Linux, and MacOS X. It is released under the Mozilla Public License v1.1.

Thunderbird is certainly feature rich and provides IMAP and POP support, a built-in RSS reader, support for HTML email, powerful searching tools, saved search folders, advanced message filtering, message grouping, labels, return receipts, smart address completion, and import tools. It also provides the ability to manage multiple email and newsgroup accounts via different “personalities”. This last feature is particularly useful for anyone who operates more than one email account, perhaps separate work and personal email accounts, and wishes to use the same client for both accounts.

In addition to this it also provides the following features:

  • intelligent junk email filters using built in tools that can analyze email messages and identify those that are most likely to be junk emails (commonly called spam). Email messages identified as junk can then be either automatically deleted or placed in a separate folder allowing the user to examine suspect junk messages before deletion
  • customizable viewing allowing the user to customize the toolbar, change its look with themes, and use Mail Views to sort and organize the way email is viewed
  • security and encryption features including support for message encryption plus support for digital signatures and certificates and security devices.
  • user-defined filters that can automatically move or process incoming and outgoing mail into specific, customizable folders
  • real time spell checking
  • auto-completion of email addresses stored in the contacts list
  • account management tools enabling users to operate multiple email accounts

For more information see [http://www.mozilla.com/thunderbird/]

Evolution

Evolution is actually an open source groupware client from Novell available for Unix and Linux platforms. It is included in the GNOME desktop environment and in the Novell Linux Desktop. It is also known as Ximian Evolution and is released under the GNU General Public License (GPL). As it is a full blown groupware client it integrates email, calendaring, tasks and contact management in one application. As you would expect, Evolution integrates with Novell’s GroupWise software. But it also integrates with Microsoft’s Exchange and since Evolution is fully standards compliant it can integrate with any standards compliant server. For the purposes of this discussion we shall consider just the email client component.

Evolution’s supported mail protocols include IMAP, POP, SMTP and Authenticated SMTP. Some of its features include:

  • Lightweight Directory Access Protocol (LDAP) support enables the use of shared address books
  • security and encryption features including support for digital signing and encryption of messages, and support for SSL to ensure message security
  • auto-completion of email addresses stored in the contacts list
  • highly configurable viewing options
  • user-defined filters that can automatically move or process incoming and outgoing mail into specific, customizable folders
  • account management tools enabling users to operate multiple email accounts
  • configurable junk email filtering.

For more information see [http://www.novell.com/products/desktop/features/evolution.html]

Java mail clients

There are a large number open source email clients available that have been written in Java using the JavaMail API. A handful of these are:
Columba
featuring a user-friendly graphical interface with wizards and internationalization support [http://columba.sourceforge.net/]
ICEMail
supporting the latest email standards, including S/MIME and PGP [http://www.icemail.org/]
Pooka
again supporting both POP and IMAP protocols [http://www.suberic.net/pooka/]
Grendel
a mail and news reader from the Mozilla Foundation aiming to be a true cross-platform application with a feature set aimed at the power user [https://wiki.mozilla.org/Grendel] - NOTE this project appears to be inactive
Daffodil Organizer
features the facility to import mails from Microsoft Outlook’s .pst files [http://sourceforge.net/projects/dmailer/]

Text based clients

Mutt is a text based mail client for Unix and Linux platforms and is released under the GNU General Public License. Mutt is a small but powerful program and has developed an extensive feature set including:

  • colour support and message threading
  • MIME support and PGP/MIME support
  • POP3 and IMAP support
  • searches using regular expressions
  • ability to specify different personalities for mail forwarded from other accounts For more information see [http://www.mutt.org/]

Pine (Program for Internet News and Email) is an email and news client developed by Computing and Communications at the University of Washington and is released under the University of Washington’s Pine License. However, this licence is not on the Open Source Initiative’s approved licence list (see [http://www.opensource.org/licenses/]) and therefore Pine cannot be considered as an open source product. Pine is mentioned here as it has enjoyed wide spread use on Unix platforms from the early days.

Pine is most widely used on Unix platforms but there is also a version available for Windows called PC-Pine. Pine is a text based program and although it was originally intended for inexperienced email users it has evolved to support some advanced features and is reasonably user configurable. It is particularly good at performing bulk operations on large numbers of messages.

For more information see [http://www.washington.edu/pine/]

A note about webmail services

Recent years have seen a move towards the provision of web based email services, commonly referred to as webmail services, as a direct parallel with the growth of the web in both the home market and in business and education. These webmail services, often offered by ISPs and increasingly offered by businesses and academic institutions, mean that email can be accessed using only a web browser, i.e. no specific email client is required. However, the disadvantage of a webmail service is that the use of it requires a permanent Internet connection, there is no facility to download messages for reading offline. Well known commercial examples of this aimed at the home market are Hotmail and Gmail, but many institutions are now offering webmail access to their own email servers to provide staff and students with access to their email when they are off-site, e.g. from home, Internet cafes etc. In-house or home grown webmail services often offer big advantages over commercial alternatives, they usually incorporate any spam detection and filtering features found on the in-house email servers, often give access to in-house address books and do not include the advertising that many of the commercial webmail services either append to emails or display during use. However, experienced email users nearly always prefer using their email client of choice over a webmail service, the functionality and flexibility of email clients leave webmail services a long way behind except where accessibility via a web browser is a key consideration.

Further reading

Links:

Related information from OSS Watch: