Connecting to Microsoft Exchange Calendar from Mozilla Thunderbird

by Martin Monperrus

To connect to a calendar hosted on Microsoft Exchange from Mozilla Thunderbird, there are several solutions: ExQuilla, Exchange Calendar, TbSync and DavMail.

If you're on Linux, you may also consider using the evolution mail/calendar client together with the evolution-ews connector, it works well too.

ExQuilla (not working)

ExQuilla for Microsoft Exchange is a registered Thunderbird addon. It supports email and contact, but does not support calendar ("Calendar features are not supported."), so it's actually not an option.

Exchange Calendar (not working)

Exchange Calendar is an addon hosted on Github (and not on https://addons.mozilla.org/). It has a number of interesting features, but has not yet been ported to most recent versions of Thunderbird and Lightning, see https://github.com/ExchangeCalendar/exchangecalendar/issues/178.

This code has traveled quite a bit, it was formerly, Ericsson/exchangecalendar, 1stsetup/exchangecalendar, lightning-exchange-provider

TbSync (working)

TbSync synchronizes contacts, tasks and calendars to Thunderbird, using Exchange ActiveSync. The development is active. You need to install two plugins:

To connect, the username is of the form "domain\user", eg for KTH "ug.kth.se\yourlogin". Also, make sure to check "requires https".

Feedback:

DavMail (working)

DavMail is NOT an addon but a proxy. It translates the MS Exchange Web API into a standard CalDAV API, which is natively supported by Thunderbird. It is implemented in Java and is still actively developed (see last commits). It uses the EWS API of MS Exchange.

See:

Other solutions

There are alternative confidential solutions:

Troubleshooting

DavMail config:

davmail.allowRemote=true

# runs Exchange Server 2013 version 15.0.1347.2 of 16/9/2017 see https://support.microsoft.com/kb/4022631
davmail.url=https://webmail.kth.se/EWS/Exchange.asmx

# only enable caldav (for calendar) and carddav (for contacts)
davmail.caldavPort=1080
# no port, means disabled
davmail.imapPort=
davmail.ldapPort=
davmail.popPort=
davmail.smtpPort=