If you work in a medium or large office, chances are you use Microsoft’s Exchange Server to access your email, contacts, and calendars. For years, Exchange has been the de-facto standard in collaborative email and contact management for corporate environments, and rightfully so. Microsoft outdid themselves in designing a system that is both easy to use and easy to administer (most of the time).
So where does that leave open source computer users? Outlook does not run on Linux, and although it does run on Mac OS and Windows, we wouldn’t exactly be true to our open source ideals if we didn’t try to find an open alternative that runs on all of the above, would we? Enter the Thunderbird.
If you would like to investigate alternatives to using Exchange, see this article.
Let’s start with going over what makes Exchange cool, however. Here’s a short list of Exchange’s key features:
- Persistent email: All emails, contacts, and calendar entries are stored on the server, so if you have a catastrophic crash and need to wipe your computer, all your data will still be there, sorted and organized into folders however you like. You also have access to all of it through a web interface from any computer with internet access.
- Shared contacts: Everyone in the organization has access to a list of the email address of everyone else in the organization, accessible by typing part of their name in the To field. There can even be a shared list of external contacts, or groups and distributions lists, contacts with restricted access, etc., etc.
- Shared calendar: You can have your own schedule, share it with certain people or the whole office, import the main office calendar into yours and vice versa, so on and so forth.
Thunderbird can take advantage of the sorting and storage, as well as the shared contacts. I have heard and read several reports that users have been able to access an Exchange calendar using the Sunbird or Lightning plugins, however despite many tries I’ve never been able to accomplish this. If anyone has any tips or insight about this, please send it along and I’ll be sure to include it in a follow-up article.
By default, all Exchange servers support a protocol known as IMAP. IMAP provides storage and sorting features identical in practice to those provided by the Exchange protocol itself. All that’s needed is to talk your sysadmin into turning on the service. LDAP, used to access the Exchange servers database of contacts and users, is usually on by default, but check with your sysadmin to make sure.
Once you’ve confirmed that both services are available, configuring Thunderbird to use them is a snap. Setting up an IMAP account should be a no-brainer for anyone who has set up a POP3 account. The steps are identical, although you will obviously want to choose IMAP as the server type when given the option. Setting up LDAP for contact sharing is a bit trickier.
Start by going to the address book panel of Thunderbird. Go to File>New->LDAP Directory. You will be presented with the following screen:

- Name is going to be the name of the address book or directory. You can put whatever you like here, this will be how this directory is distinguished from your other address books.
- Hostname is the IP address or hostname of your Active Directory server. This will usually be the same address as your Exchange server.
- Base DN is the level at which Thunderbird will start searching Active Directory when you search for a contact. Get this from your system administrator. In most cases, if your email address is johndoe@example.com, the base DN will be set to dc=example,dc=com, which will tell Thunderbird to start searching for contacts at the top of the example.com tree.
- Port Number is usually 389, but ask your system administrator as this port is often changed to resolve conflicts with other Exchange services.
- Bind DN is your first and last name exactly as it appears when other users search the directory for you. If your name is John Doe, then type John Doe here.
The first time you search the catalog, you will be prompted to enter your password. This will be the same password you would use in Outlook or Exchange Webmail, also known as Outlook Web Access. You can tell Thunderbird to remember this password, or require that it be entered every time the catalog is searched. If you don’t let Thunderbird remember it, however, address auto-completion may not work correctly. To set up address completion, right-click your account in Thunderbird and select Properties. Then choose the Composition and Addressing section. You should see the following screen:

You can see here we have selected the Example LDAP Directory. Now whenever you compose a new email message, You can enter full or partial names in the To field and Thunderbird will attempt to complete the address by searching the list of contacts on your Exchange server.
Voila, you can now access your email and contacts from Thunderbird! You will still have to use Outlook Web Access to view and modify your calendars, for now. Since Exchange can be configured to use Webdav for calendars, it shouldn’t be too long until someone has a stable and reliable way to access the calendar features of Exchange as well. Until then, enjoy keeping true to your open source roots in a Microsoft dominated workplace. It only takes one person to show that it can be done, to start a trend that will eventually grow into a movement.



April 8th, 2008 at 8:56 pm
[...] user and the server itself. Thunderbird can access the Active Directory catalog with some work (see this article for more on how to do this), and something similar to the “push” effect can be achieved [...]