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:
- https://addons.thunderbird.net/en-US/thunderbird/addon/tbsync/ (core)
- https://addons.thunderbird.net/en-US/thunderbird/addon/eas-4-tbsync/ (EAS support)
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:
- Jonas Larsson: “Just installed TbSync running on top of TB 52.9.1 (64-bit Linux). Works perfectly out of the box - had to manually enter the server (eas.outlook.com) and the protocol used (2.5) but then synced calendar without a hitch.”
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.
- Calendar URL If run on localhost, the calendar URL is of the form (the slash at the end is important)
http://localhost:1080/users/<user>@<domain>/calendar/
eghttp://localhost:1080/users/foo@ug.kth.se/calendar/
- Carddav URL
http://localhost:1080/users/<user>@<domain>/contacts/
See:
- official doc: DavMail Thunderbird calendar setup
- Use Thunderbird with Microsoft Exchange, through DavMail
Other solutions
There are alternative confidential solutions:
- exchange-ews-thunderbird is written in C++
- MExInt requires a Node.js proxy
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=