HowItWorks:Thunderbird: Difference between revisions

From Wikibase
Jump to navigation Jump to search
 
(22 intermediate revisions by 2 users not shown)
Line 15: Line 15:
== A short history ==
== A short history ==


=== From the first releases to 1.0 (2003–2004) ===
The history of Thunderbird is marked by four eventful time periods:


The Thunderbird project was founded in 2003.<ref>{{#cite:Q1486}}</ref> The release history on thunderbird.net starts at version 0.1 and runs through 0.9 before the 1.0 milestone.<ref>{{#cite:Q1497}}</ref>
=== 9 pre-releases and the 1.0 milestone (2003–2004) ===


On December 7, 2004, the Mozilla Foundation announced the worldwide availability of Thunderbird 1.0 for Windows, Mac OS X and Linux, "focused on new features and settings to help stop spam and prevent viruses, the two biggest problems facing email users today".<ref>{{#cite:Q1489}}</ref> The release introduced adaptive junk mail controls, an integrated RSS news and blog reader, saved search folders, themes and extensions, and easy migration from Outlook, Outlook Express, Eudora and Netscape Communicator.<ref>{{#cite:Q1489}}</ref> "We view Thunderbird as a big step towards providing people with a better email experience", said [[Person:Scott MacGregor|Scott MacGregor]], the project's lead engineer.<ref>{{#cite:Q1489}}</ref>
The Thunderbird project was founded in 2003 by Mozilla Foundation under the leadership of [[Person:Scott MacGregor|Scott MacGregor]], with the stated goal "to make communicating and collaborating better".<ref>{{#cite:Q1486}}</ref>


=== Community stewardship (2012–2015) ===
The software went through 9 pre-releases (version 0.1-0.9), before reaching the 1.0 milestone at the end of 2004.<ref>{{#cite:Q1497}}</ref>
 
According to the Mozilla foundation, a few key selling points makes Thunderbird 1.0 stand apart from contemporary alternatives:<ref>{{#cite:Q1489}}</ref>
 
* '''Cross-platform availability''': Thunderbird 1.0 works right out-of-box for Windows, Mac OS X and Linux;
* '''Adaptive junk mail controls''': With a dynamic Bayesian filter learning from user action (marking and unmarking emails as spam), the more Thunderbird 1.0 is used, the more accurate its spam filtering becomes;
* '''High customisability''': With built-in support for custom themes and extensions, user can personalise Thunderbird 1.0 to their taste and even add new functionalities;
* '''Easy migration''': Sanctioned, guided built-in migration from Outlook, Eudora, and Netscape Communicator, the most popular commercial email clients at the time.
 
=== Transition to community stewardship (2012–2015) ===


On July 6, 2012, Mozilla chairman [[Person:Mitchell Baker|Mitchell Baker]] announced a new direction: Mozilla's leadership had concluded that "on-going stability is the most important thing" for Thunderbird and that "continued innovation in Thunderbird is not a priority for Mozilla's product efforts".<ref>{{#cite:Q1488}}</ref> Mozilla would provide security updates through an Extended Support Release process, and the community could organize for ongoing development.<ref>{{#cite:Q1488}}</ref>
On July 6, 2012, Mozilla chairman [[Person:Mitchell Baker|Mitchell Baker]] announced a new direction: Mozilla's leadership had concluded that "on-going stability is the most important thing" for Thunderbird and that "continued innovation in Thunderbird is not a priority for Mozilla's product efforts".<ref>{{#cite:Q1488}}</ref> Mozilla would provide security updates through an Extended Support Release process, and the community could organize for ongoing development.<ref>{{#cite:Q1488}}</ref>
Line 27: Line 36:
The Thunderbird project later called the decision "both a blessing and curse": the community kept the project alive and contributed many features, but a volunteer-driven effort without a proper organization accumulated an inconsistent interface and mounting technical debt.<ref>{{#cite:Q1491}}</ref>
The Thunderbird project later called the decision "both a blessing and curse": the community kept the project alive and contributed many features, but a volunteer-driven effort without a proper organization accumulated an inconsistent interface and mounting technical debt.<ref>{{#cite:Q1491}}</ref>


In 2014, contributors established the '''Thunderbird Council''', an elected body "functioning much like a board of directors for an open-source project": it oversees funds, approves budgets and shapes the product roadmap.<ref>{{#cite:Q1486}}</ref> In June 2015, Thunderbird 38 shipped calendaring by default, implemented as the Lightning extension.<ref>{{#cite:Q1498}}</ref>
In 2014, contributors established the '''Thunderbird Council''', an elected body "functioning much like a board of directors for an open-source project": it oversees funds, approves budgets and shapes the product roadmap.<ref>{{#cite:Q1486}}</ref>
 
In June 2015, Thunderbird 38, released under the stewardship of the newly-elected Thunderbird Council, started shipping the calendar Lightning extension by default.<ref>{{#cite:Q1498}}</ref>
 
=== Migration away from Mozilla infrastructure and creation of MZLA Technologies Corporation (2015–2020) ===
 
In late 2015, Mitchell Baker reopened a discussion about Thunderbird's future. According to him, Mozilla is happy to "disentangle the technical infrastructure" and assist the Thunderbird community, with the Mozilla Foundation serving as fiscal sponsor for donations.<ref>{{#cite:Q1492}}</ref>
 
In 2017, on the advice of a report by Simon Phipps, former president of the OSI, commissioned by Mozilla, the Thunderbird Council announced that the Mozilla Foundation would remain the project's legal and fiscal home, but Thunderbird would migrate off Mozilla Corporation infrastructure and operate independently to continue serving its "over 25 million users" worldwide.<ref>{{#cite:Q1492}}</ref>


=== Finding a home (2015–2020) ===
In 2020, the project was transferred to '''MZLA Technologies Corporation''', a new for-profit subsidiary fully-owned by the Mozilla Foundation. Cited reasons include easier recruitment, simpler governance, and possibilities to open commercial partnerships and offer paid services.<ref>{{#cite:Q1487}}</ref> Essentially, the controversial move was justified as a necessary evil to ensure that Thunderbird remains financially sustainable as an open-source project.


In late 2015, Mitchell Baker opened a discussion about Thunderbird's future. Mozilla would "disentangle the technical infrastructure" and assist the Thunderbird community, with the Mozilla Foundation serving as fiscal sponsor for donations.<ref>{{#cite:Q1492}}</ref> Mozilla commissioned a report from Simon Phipps, former president of the OSI, on potential new homes; on May 9, 2017 the Thunderbird Council announced the conclusion: the Mozilla Foundation would remain the project's legal and fiscal home, but Thunderbird would migrate off Mozilla Corporation infrastructure and operate independently, serving "over 25 million users".<ref>{{#cite:Q1492}}</ref>
=== Supernova rebuild, official Android support, and monthly releases (2023–2026) ===


On January 28, 2020, the project moved again: Thunderbird began operating from '''MZLA Technologies Corporation''', a new wholly owned subsidiary of the Mozilla Foundation, to "hire more easily, act more swiftly, and pursue ideas that were previously not possible", including partnerships and paid services, while remaining free and open source.<ref>{{#cite:Q1487}}</ref>
In February 2023, the Thunderbird project announced plans for a ground-up rework with three objectives:<ref>{{#cite:Q1491}}</ref>


=== Rebuilding: Supernova, Android, monthly releases (2023–2026) ===
1. make the code base leaner and remove technical debt;
2. rebuild the interface from scratch;
3. switch to a monthly release schedule.


In February 2023, the project announced a ground-up rework with three objectives: make the code base leaner and remove technical debt, rebuild the interface from scratch, and switch to a monthly release schedule.<ref>{{#cite:Q1491}}</ref> On July 11, 2023, Thunderbird 115 "Supernova" shipped: "a modernized overhaul of the software, both visually and technically".<ref>{{#cite:Q1490}}</ref> "Supernova is the beginning of a new era for Thunderbird", said [[Person:Ryan Sipes|Ryan Sipes]], Thunderbird's Product and Business Development Manager.<ref>{{#cite:Q1490}}</ref> Supernova introduced a card view for the message list, a dynamic unified toolbar, a redesigned application menu, sortable folder modes, a tags view, and substantially improved keyboard and screen-reader accessibility.<ref>{{#cite:Q1490}}</ref>
Five months later, in July 2023, Thunderbird 115 "Supernova" shipped. Introducing a card view for the message list, a dynamic unified toolbar, a redesigned application menu, sortable folder modes, a tags view, and improving keyboard and screen-reader accessibility,<ref>{{#cite:Q1490}}</ref> it is "a modernized overhaul of the software, both visually and technically".<ref>{{#cite:Q1490}}</ref> according to its release notice. [[Person:Ryan Sipes|Ryan Sipes]], Thunderbird's Product and Business Development Manager, said the release marked "the beginning of a new era for Thunderbird".<ref>{{#cite:Q1490}}</ref>


On October 30, 2024, Thunderbird for Android 8.0 was released: the first stable release of the mobile app, developed from K-9 Mail, which the project took under its wing in 2022.<ref>{{#cite:Q1493}}</ref>
In October 2024, Thunderbird Android, developed from K-9 Mail, made its first stable release, further fulfilling the cross-platform promise of Thunderbird.<ref>{{#cite:Q1493}}</ref> As of September 2026, iOS is the only major operating system not yet officially supported by Thunderbird.


Thunderbird now follows a release train: a new major version every 4 weeks, a monthly release, and one Extended Support Release per year, typically in July.<ref>{{#cite:Q1495}}</ref> As of September 2026, the latest release is 154.0, with 153.0 and 140.0 as the supported ESR branches.<ref>{{#cite:Q1497}}</ref> Thunderbird for iOS is in development, described in the July 2026 progress report as the project's "first built from scratch" app.<ref>{{#cite:Q1499}}</ref>
Today (2026-09), Thunderbird's release schedule has become extremely regular: one new major version every 4 weeks, and one Extended Support Release per year, typically in July.<ref>{{#cite:Q1495}}</ref> Development of Thunderbird for iOS, described in the July 2026 progress report as the project's "first built from scratch" app, continues actively.<ref>{{#cite:Q1499}}</ref>


== Components and interactions ==
== Components and interactions ==


Thunderbird is built on the Mozilla platform. As the team describes it: "Thunderbird is literally a bunch of code running on top of Firefox. All the tabs and sections you see in our applications are just browser tabs with a custom user interface."<ref>{{#cite:Q1491}}</ref> This base supplies cross-platform support, the Gecko web renderer, the SpiderMonkey JavaScript engine, and inherits security patches and extension support from the Firefox release cycle; the cost is tracking a fast-moving upstream codebase with a far smaller team.<ref>{{#cite:Q1491}}</ref> The application itself is written in C++, JavaScript, CSS and XHTML.<ref>{{#cite:Q1491}}</ref>
Written in C++, JavaScript, CSS and XHTML,<ref>{{#cite:Q1491}}</ref> Thunderbird is built on the Mozilla platform. As the team describes it: "Thunderbird is literally a bunch of code running on top of Firefox. All the tabs and sections you see in our applications are just browser tabs with a custom user interface."<ref>{{#cite:Q1491}}</ref> The Mozilla platform supplies multi-OS support, the Gecko web renderer, the SpiderMonkey JavaScript engine, as well as security patches and extension support from the Firefox release cycle.<ref>{{#cite:Q1491}}</ref>  


<uml>
<uml>
@startuml
@startuml
!theme bluegray
!theme bluegray
Line 56: Line 76:
   component "Mail window\n(folder pane, message list,\nmessage view)" as MAILWIN
   component "Mail window\n(folder pane, message list,\nmessage view)" as MAILWIN
   component "Compose window" as COMPOSE
   component "Compose window" as COMPOSE
   component "Address book" as ADDRBOOK
   component "Address book UI" as ABUI
   component "Calendar" as CALWIN
   component "Calendar UI" as CALUI
   component "Chat" as CHATWIN
   component "Chat UI" as CHATUI
}
}


' ============= APPLICATION LAYER =============
' ============= APPLICATION LAYER =============
node "Application layer" {
node "Application layer" {
   component "mail/ modules & components\n(account setup, cloudfile,\npreferences, extensions)" as APPMOD
   component "mail/ modules & components\n(account setup, cloudfile,\npreferences, MailExtension APIs)" as APPMOD
  component "Address book backend\n(mailnews/addrbook)" as ABBACK
}
 
' ============= ADD-ONS (optional) =============
node "Add-ons" {
   component "MailExtensions\n(WebExtensions + Experiments)" as EXT
   component "MailExtensions\n(WebExtensions + Experiments)" as EXT
}
}
Line 72: Line 97:
   component "SpiderMonkey\n(JavaScript engine)" as SM
   component "SpiderMonkey\n(JavaScript engine)" as SM
   component "Necko\n(networking)" as NECKO
   component "Necko\n(networking)" as NECKO
  component "SQLite\n(storage engine)" as SQLITE
}
}


Line 78: Line 102:
node "Backend" {
node "Backend" {
   component "mailnews/\n(IMAP, POP3, SMTP,\nNNTP, RSS, message store)" as MAILNEWS
   component "mailnews/\n(IMAP, POP3, SMTP,\nNNTP, RSS, message store)" as MAILNEWS
   component "calendar/\n(CalDAV, iCalendar)" as CALDAV
   component "calendar/\n(CalDAV, iCalendar, iTIP)" as CALBACK
   component "chat/\n(IRC, XMPP, Matrix)" as CHATPROTO
   component "chat/\n(IRC, XMPP, Matrix)" as CHATPROTO
}
}


' ============= STORAGE =============
' ============= STORAGE (inside the profile) =============
database "Profile directory\n(prefs.js, message folders,\naddress books, message database)" as PROFILE
database "Mail folders\n(mbox + index files)" as MBOX
database "SQLite databases\n(address books abook.sqlite,\ncalendar local.sqlite,\nmessage index global-messages-db.sqlite)" as SQLITE


' ============= EXTERNAL =============
' ============= EXTERNAL SERVICES =============
node "External services" {
node "External services" {
   database "Mail servers\n(IMAP / POP3 / SMTP)" as MAILSVR
   database "Mail servers\n(IMAP / POP3 / SMTP)" as MAILSVR
  database "Calendar servers\n(CalDAV / WebDAV)" as CALDAVSVR
  database "Chat servers\n(IRC / XMPP / Matrix)" as CHATSVR
   database "ISPDB\n(account auto-configuration)" as ISPDB
   database "ISPDB\n(account auto-configuration)" as ISPDB
   database "addons.thunderbird.net" as AMO
   database "addons.thunderbird.net" as AMO
  database "Calendar / chat servers" as OTHERSVR
}
}


Line 96: Line 122:
MAILWIN --> APPMOD : window chrome & logic
MAILWIN --> APPMOD : window chrome & logic
COMPOSE --> APPMOD
COMPOSE --> APPMOD
CALWIN --> APPMOD
ABUI --> ABBACK : manage contacts
CHATWIN --> APPMOD
CALUI --> CALBACK : events & tasks
APPMOD --> EXT : extension API
CHATUI --> CHATPROTO : conversations
EXT --> APPMOD : use MailExtension APIs
EXT --> SM : run JS\n(background & content scripts)
EXT --> GECKO : render add-on UI
APPMOD --> GECKO : render UI\n(HTML / XUL)
APPMOD --> GECKO : render UI\n(HTML / XUL)
APPMOD --> SM : run JS modules
APPMOD --> SM : run JS modules
APPMOD --> MAILNEWS : mail operations
APPMOD --> MAILNEWS : mail operations
MAILNEWS --> NECKO : protocol connections
ABBACK --> SQLITE : store / query contacts
MAILNEWS --> PROFILE : read / write messages
MAILNEWS --> SQLITE : message index (search)
CALDAV --> NECKO : CalDAV / WebDAV
MAILNEWS --> MBOX : read / write messages
CALDAV --> PROFILE : calendar data
CALBACK --> SQLITE : store events & tasks
CHATPROTO --> NECKO : chat protocols
MAILNEWS --> NECKO : IMAP / POP3 / SMTP / NNTP
CHATPROTO --> PROFILE : chat logs
CALBACK --> NECKO : CalDAV / WebDAV
MAILNEWS --> MAILSVR : IMAP / POP3 / SMTP
CHATPROTO --> NECKO : IRC / XMPP / Matrix
CALDAV --> OTHERSVR : calendar sync
APPMOD --> NECKO : autoconfig & ISPDB lookups
CHATPROTO --> OTHERSVR : chat servers
NECKO --> MAILSVR : sockets & TLS
APPMOD --> ISPDB : autoconfig lookup
NECKO --> CALDAVSVR : HTTP (CalDAV / WebDAV)
EXT --> AMO : install / update
NECKO --> CHATSVR : sockets / HTTP / WebSocket
NECKO --> ISPDB : HTTP lookup
NECKO --> AMO : add-on install / update\n(HTTP downloads)


note right of EXT
note right of SQLITE
   Add-ons use stable WebExtension
   SQLite databases live in the
   APIs; "Experiment" APIs can reach
   profile directory and back the
   into internal Thunderbird APIs.
   address books, calendar storage
  and the global message index.
end note
end note
note right of MAILNEWS
note right of MAILNEWS
   mailnews/ is the shared Mail and
   mailnews/ is the shared Mail and
   Newsgroups backend, also used by
   Newsgroups backend. It is also
   SeaMonkey.
  used by SeaMonkey.
end note
note right of EXT
   Optional add-ons consumes
  dedicated MailExtension APIs
  provided by the application layer.
end note
end note
note right of PROFILE
note right of NECKO
   All user data lives in one profile
   Necko is the platform networking
   directory; copying it migrates a
   library: every connection to an
   Thunderbird installation.
  external server (mail, calendar,
  chat, autoconfig, add-on
   downloads) goes through it.
end note
end note
note right of GECKO
note right of GECKO
   Thunderbird's UI is rendered by
   Thunderbird's UI is rendered by
   the same engine that renders
   the same engine that renders
   web pages in Firefox.
   web pages in Firefox: Gecko
end note
end note


Line 138: Line 177:
</uml>
</uml>


Thunderbird's source code lives in the '''comm-central''' repository. Its main directories:<ref>{{#cite:Q1494}}</ref>
Every connection to an outside server flows through '''Necko''', the Mozilla platform's networking library: the mail protocol implementations open their sockets through Necko's socket transport service, and HTTP-based traffic (CalDAV, autoconfiguration, add-on downloads) uses its HTTP channels.<ref>{{#cite:Q1516}}</ref>
 
The profile directory holds the mail folders on disk and several SQLite databases: the address book back end keeps its books in SQLite (abook.sqlite),<ref>{{#cite:Q1510}}</ref> the calendar component stores events in local.sqlite,<ref>{{#cite:Q1512}}</ref> and the global message database (global-messages-db.sqlite) powers message indexing and search.<ref>{{#cite:Q1513}}</ref>
 
=== Source code organisation ===
 
Thunderbird's source code repository is split into multiple sub-directories by functionality:<ref>{{#cite:Q1494}}</ref>


* '''mail/''' — the Thunderbird-specific frontend: user interface files, shared JavaScript modules, and components such as the account setup wizard, the address book front end, the composition window, the chat front end and the preferences tab.
* '''mail/''' — the Thunderbird-specific frontend: user interface files, shared JavaScript modules, and components such as the account setup wizard, the address book front end, the composition window, the chat front end and the preferences tab.
Line 146: Line 191:
* '''build/''', '''testing/''', '''taskcluster/''' and '''third_party/''' — build, test and vendored-code infrastructure.
* '''build/''', '''testing/''', '''taskcluster/''' and '''third_party/''' — build, test and vendored-code infrastructure.


Add-ons are '''MailExtensions''' built on the WebExtension technology used by web browsers: they are "created using standard JavaScript, CSS and HTML", use stable APIs that do not need updating on every release, and request permissions the user must confirm. Advanced add-ons can bundle "Experiment" APIs that interact directly with Thunderbird's internal APIs.<ref>{{#cite:Q1496}}</ref> Since Thunderbird 78 (July 2020), MailExtensions are the only supported add-on type.<ref>{{#cite:Q1501}}</ref>
=== Addons ===
 
Since Thunderbird 78 (July 2020 release), all add-ons must be built within Thunderbird's MailExtension framework,<ref>{{#cite:Q1501}}</ref> which uses regular WebExtension technology via standard JavaScript, CSS and HTML. They interact with Thunderbird through dedicated extension APIs, which are generally stable across releases and subjected to user confirmation for access.<ref>{{#cite:Q1496}}</ref>


== Thunderbird in action ==
== Thunderbird in action ==
Line 152: Line 199:
=== Account setup ===
=== Account setup ===


Creating an account is a wizard flow. The user enters their name, email address and password; Thunderbird queries the '''ISPDB''' (Internet Service Provider Database), a Thunderbird-run service "used for auto configuring users' email accounts", to auto-fill the incoming and outgoing server settings.<ref>{{#cite:Q1492}}</ref>
Creating an account is a wizard flow. The user enters their name, email address and password, and Thunderbird tries to look up the correct server settings automatically:<ref>{{#cite:Q1508}}</ref>


<uml>
<uml>
@startuml
@startuml
!theme bluegray
!theme bluegray
Line 161: Line 209:
|#LightGray|User|
|#LightGray|User|
start
start
:enter name, email address\nand password;
:enters name, email address\nand password;
|#LightBlue|Thunderbird (account setup wizard)|
|#LightBlue|Thunderbird (account setup wizard)|
:look up the email domain\nin the ISPDB;
:look up server settings\nfor the email domain[1];
if (settings found?) then (yes)
if (settings found?) then (yes)
   :prefill IMAP/POP3 and SMTP\nserver settings;
   :prefill IMAP/POP3 and SMTP\nserver settings;
else (no)
else (no)
   :ask for server details manually;
   :fall back to guessing common\nserver names, then manual entry;
endif
endif
:test the connection\n(login check);
:test the connection\n(login check);
Line 179: Line 227:
@enduml
@enduml
</uml>
</uml>
<blockquote>
[1]: Concretely, the lookup uses a best-effort cascade chain:<ref>{{#cite:Q1508}}</ref>
1. search for a local configuration file in the installation directory (<code>&lt;install-dir&gt;/isp/&lt;domain&gt;.xml</code>), mainly for enterprise deployments;
2. query the provider's own configuration server, e.g. <code><nowiki>https://autoconfig.</nowiki>&lt;domain&gt;/mail/config-v1.1.xml</code> (preferred) or <code>https://&lt;domain&gt;/.well-known/autoconfig/mail/config-v1.1.xml</code>, then the same URLs over HTTP;
3. query the '''ISPDB[2]''', the Thunderbird project's central database of server settings (<code>https://autoconfig.thunderbird.net/v1.1/&lt;domain&gt;</code>);
4. perform a DNS '''MX''' lookup: the mail hoster found in the MX record is itself looked up in the ISPDB;
5. try common server names such as <code>imap.&lt;domain&gt;</code>, <code>smtp.&lt;domain&gt;</code>, and <code>mail.&lt;domain&gt;</code> and probe for SSL, STARTTLS and encrypted passwords;
If everything fails, Thunderbird asks user to configure the email account manually.
</blockquote>
<blockquote>
[2]: '''ISPDB''' is the acronym of the Internet Service Provider Database: a central database hosted by the Thunderbird project, containing server settings for the world's largest ISPs. Most ISPs with a market share of more than 0.1% are included, which lets Thunderbird autoconfigure a large share of users' accounts with no input beyond name, email address and password.<ref>{{#cite:Q1508}}</ref>
</blockquote>


=== The mail round trip ===
=== The mail round trip ===


Incoming mail: Thunderbird connects to the server over '''IMAP''' or '''POP3'''<ref>{{#cite:Q1489}}</ref>, downloads new messages into the profile, updates the message database, and notifies the interface. Outgoing mail goes out over '''SMTP'''.<ref>{{#cite:Q1489}}</ref>
Incoming mail: Thunderbird connects to the server over '''IMAP''' or '''POP3''',<ref>{{#cite:Q1489}}</ref> downloads new messages into the profile, updates the message database, and notifies the interface. Outgoing mail goes out over '''SMTP'''.<ref>{{#cite:Q1489}}</ref> After a successful send, Thunderbird appends a copy of the message to the ''Sent'' folder.<ref>{{#cite:Q1514}}</ref>


<uml>
<uml>
@startuml
@startuml
!theme bluegray
!theme bluegray
Line 192: Line 257:
start
start
:new message arrives\nfor the account;
:new message arrives\nfor the account;
|#LightBlue|Thunderbird (mailnews/)|
|#LightBlue|Thunderbird|
:connect over IMAP\n(sync folders, fetch headers/bodies);
:connect over IMAP\n(sync folders, fetch headers/bodies);
:store messages in the profile,\nupdate the message database;
:store messages in the profile,\nupdate the message database;
Line 198: Line 263:
|#LightGray|User|
|#LightGray|User|
:read and reply;
:read and reply;
|#LightBlue|Thunderbird (mailnews/)|
|#LightBlue|Thunderbird|
:compose the reply;
:compose the reply;
:send over SMTP;
:send it over SMTP;
:append a copy to the\n"Sent" folder (client-side);
|#LightGreen|Mail server|
|#LightGreen|Mail server|
:deliver the message;
:deliver the message to the recipient;
|#LightBlue|Thunderbird|
stop
:move a copy to the\n"Sent" folder;
 
@enduml
</uml>
 
=== The calendar round trip ===
 
Thunderbird's calendar component (formerly the calendar Lightning extension)<ref>{{#cite:Q1494}}</ref> stores events and tasks locally in a SQLite database, the file <code>local.sqlite</code> in the profile.<ref>{{#cite:Q1512}}</ref> Network calendars sync with remote servers over '''CalDAV''' (RFC 4791), using '''iCalendar''' (RFC 5545) as the data format, so the same calendar can be shared across devices and clients.<ref>{{#cite:Q1509}}</ref> Invitations travel by email as .ics attachments, handled with '''iTIP''';<ref>{{#cite:Q1509}}</ref> accepting an invitation adds the event to the calendar and sends the reply back.
 
<uml>
 
@startuml
!theme bluegray
title Calendar round trip (CalDAV sync and iTIP invitations)
 
|#LightGreen|CalDAV server|
start
:calendar collection\n(events stored as iCalendar);
|#LightBlue|Thunderbird (calendar/)|
:sync the collection over CalDAV\n(fetch changes, push local edits);
:store events locally in\nlocal.sqlite (offline cache);
:display events and tasks in the UI;
|#LightGray|User|
:accept an invitation\nreceived by email;
|#LightBlue|Thunderbird (calendar/)|
:parse the .ics attachment (iTIP),\nadd the event to the calendar;
:send the reply by email\n(accepted / declined);
|#LightGreen|CalDAV server|
:update the collection on the next sync;
stop
stop


Line 212: Line 305:
== Key design decisions ==
== Key design decisions ==


=== Riding the Firefox platform ===
=== Thunderbird rides on the Mozilla (Firefox) platform ===
 
Rather than building from scratch, developers chose to build Thunderbird on top of the Mozilla platform to benefit from its mature ecosystem.<ref>{{#cite:Q1491}}</ref> This decision allows Thunderbird's relatively small team (~15 full-time equivalent) to focus on delivering core functionalities instead of reinventing the wheel.
 
=== Community governance, corporate backing ===


The founding architectural decision: build the mail client on top of the Mozilla platform rather than from scratch. Thunderbird inherits cross-platform support, the Gecko renderer, SpiderMonkey, networking and security patches from Firefox.<ref>{{#cite:Q1491}}</ref> The trade-off is a constant chase: with a bit more than a dozen core developers against Firefox's hundreds, "how many times per week things suddenly break in Thunderbird because a C++ interface was renamed, or an API was deprecated, or a building library was upgraded".<ref>{{#cite:Q1491}}</ref> This upstream churn, plus years of volunteer-driven additions, produced the technical debt that motivated the Supernova rebuild.<ref>{{#cite:Q1491}}</ref>
The Thunderbird project has a unique community-corporate dual-structure. The '''Thunderbird Council''', elected by contributors since 2014, steers strategy and budget,<ref>{{#cite:Q1486}}</ref> whereas MZLA Technologies Corporation, a '''for-profit subsidiary of the not-for-profit Mozilla Foundation''' created in 2020, manages day-to-day development and operations. This dual-structure ensures that while Thunderbird always remains a free and open-source community project, it is free to participate in commercial partnerships and offer optional paid services to finance development.<ref>{{#cite:Q1486}}</ref><ref>{{#cite:Q1487}}</ref>


=== From XUL to web technologies ===
=== Stable, permission-gated dedicated APIs for add-ons ===


Thunderbird's interface was historically built with Mozilla-specific technologies: XUL, XBL and XPCOM. As early as 2017 the project's long-term plan was to migrate to "web technologies", meaning HTML and pure JavaScript, while remaining an installable desktop application.<ref>{{#cite:Q1492}}</ref> The Supernova release (2023) was the visible first step of that rework: "we reworked some of the oldest parts of our code base with the goal of modernizing them to make maintenance and extensibility easier".<ref>{{#cite:Q1490}}</ref><ref>{{#cite:Q1491}}</ref>
Thunderbird is built from day one to support extensions. Its extensibility has long been a core selling point. However, in older versions, add-ons broke with nearly every release, mostly due to backward incompatible API changes. To mitigate the issue, the project gradually phased in a dedicated '''MailExtensions''' framework based on standard WebExtensions technology, powered by stable, permission-gated APIs dedicated to add-ons since 2018.<ref>{{#cite:Q1496}}</ref> In 2020, with the release of version 78, MailExtensions became the only sanctioned framework for Thunderbird extensions.<ref>{{#cite:Q1501}}</ref>


=== Community governance, corporate backing ===
=== A regular and rapid release schedule ===


Thunderbird pairs an unusual governance structure with an equally unusual corporate one. The '''Thunderbird Council''', elected by contributors since 2014, steers strategy and budget;<ref>{{#cite:Q1486}}</ref> development and operations are run by MZLA Technologies Corporation, a '''for-profit subsidiary of the not-for-profit Mozilla Foundation''', which gives the project "the flexibility to offer optional paid services to sustain Thunderbird's development far into the future".<ref>{{#cite:Q1486}}</ref><ref>{{#cite:Q1487}}</ref> After the uncertainty of the 2012 community handover and the 2015–2017 search for a home, this structure gave the project paid staff, a roadmap and a release cadence.<ref>{{#cite:Q1491}}</ref><ref>{{#cite:Q1492}}</ref>
Since 2024, Thunderbird adopted Firefox's rapid release model: security and stability patches on demand, typically every two weeks; a new major version every 4 weeks; a new extended support release every year, typically in July.<ref>{{#cite:Q1495}}</ref> The model ensures that new features can roll out rapidly to users without compromising long-term stability for users who value it.


=== Stable, permissioned add-on APIs ===
=== Open protocols ensure maximum compatibility ===


Thunderbird's extensibility has long been a selling point, but legacy XUL/XPCOM add-ons broke with nearly every release. The project's answer was to adopt WebExtensions and call them '''MailExtensions''': stable APIs, permission prompts, no forced per-release updates.<ref>{{#cite:Q1496}}</ref> Since Thunderbird 78, only MailExtensions are supported, and "restartless add-ons and non-restartless legacy add-ons using XUL overlays are no longer supported".<ref>{{#cite:Q1501}}</ref>
Thunderbird is built on open protocols: IMAP, POP3, and SMTP for emails, NNTP and RSS for live feed, CalDAV and iCalendar for calendar, and IRC, XMPP, and Matrix for chat.<ref>{{#cite:Q1489}}</ref><ref>{{#cite:Q1494}}</ref> Its implementation of these standards is tracked on an official supported-standards list,<ref>{{#cite:Q1509}}</ref> making it compatible with any service provider supporting the same open protocols.


=== A predictable release train ===
=== Uncompromised privacy ===


Thunderbird follows a 4-week release cycle: a new Daily (nightly) major version begins every 4 weeks, the code merges into Beta, then into the monthly Release, with point releases as needed 2 weeks after.<ref>{{#cite:Q1495}}</ref> The ESR branch is refreshed once a year, typically in July, and receives point releases as needed every 2 weeks.<ref>{{#cite:Q1495}}</ref> This replaced the earlier yearly-major model which, combined with upstream Firefox changes, at times left Thunderbird unable to build or release "for months at a time".<ref>{{#cite:Q1491}}</ref>
Thunderbird's privacy stance is uncompromising: "You are not the product". It does not collect user data beyond anonymous usage statistics, and users can opt out at any time.<ref>{{#cite:Q1486}}</ref> This stance, although logically not profitable, earned Thunderbird a solid reputation among privacy-conscious users.


=== Open standards and privacy ===
=== A single profile directory facilitates migration ===


Thunderbird talks to the outside world through open standards: IMAP, POP3, SMTP, NNTP and RSS for content, CalDAV and iCalendar for the calendar, and open chat protocols.<ref>{{#cite:Q1489}}</ref><ref>{{#cite:Q1494}}</ref> The project's privacy stance is uncompromising: "You are not the product", it does not collect or store user data unless asked, and it will never sell it.<ref>{{#cite:Q1486}}</ref>
All of Thunderbird's data, preferences, mail folders, address books, and the message database, live in a single profile directory, which, on Linux, is <code>~/.thunderbird</code>.  As such, migration to a new machine is as simple as copying the profile directory to the equivalent location on the new machine.<ref>{{#cite:Q1487}}</ref>


== Try it yourself ==
== Try it yourself ==


The current version can be checked against Mozilla's official product-details API (verified live on 2026-09-01):
<blockquote>
Commands verified live on 2026-09-01.
</blockquote>
 
<blockquote>
Example command syntax is based on Linux bash. Windows command syntax is different.
</blockquote>


<syntaxhighlight lang="bash" copy>
<syntaxhighlight lang="bash" copy>
Line 245: Line 348:
</syntaxhighlight>
</syntaxhighlight>


Output (verified live on 2026-09-01):
Output on 2026-09-01:


<pre>
<pre>
Line 258: Line 361:
</pre>
</pre>


Install the official Flatpak, which is "packaged and maintained by the Thunderbird team":<ref>{{#cite:Q1490}}</ref>
Install the official Flatpak packaged and maintained by the Thunderbird team:<ref>{{#cite:Q1490}}</ref>


<syntaxhighlight lang="bash" copy>
<syntaxhighlight lang="bash" copy>
Line 265: Line 368:
</syntaxhighlight>
</syntaxhighlight>


<syntaxhighlight lang="bash" copy">
<syntaxhighlight lang="bash" copy>
# Launch it
# Launch it
flatpak run org.mozilla.Thunderbird
flatpak run org.mozilla.Thunderbird
</syntaxhighlight>
</syntaxhighlight>


Or use your distribution's package:
Or use your distribution's package, which may be somewhat outdated:


<syntaxhighlight lang="bash" copy">
<syntaxhighlight lang="bash" copy>
# Debian / Ubuntu
# Debian / Ubuntu
sudo apt install thunderbird
sudo apt install thunderbird
</syntaxhighlight>
</syntaxhighlight>
All of Thunderbird's data lives in a single profile directory (on Linux, <code>~/.thunderbird</code>): preferences, mail folders, address books and the message database. Migrating to a new machine is "really just a matter of copying the profile folder to the right place on the new machine".<ref>{{#cite:Q1487}}</ref>


== References ==
== References ==

Latest revision as of 21:31, 1 September 2026

Languages: English · français · Esperanto

Explains how things actually work — part of our technology dissections collection.

Thunderbird is a free and open-source, cross-platform personal information manager, regrouping email, calendar, contacts, RSS feeds, chat and newsgroups in one application.

Thunderbird?

Thunderbird stands out as a personal information manager with three promises:[1]

  • Privacy — "You are not the product." Thunderbird does not collect or sell user data, and users retain ownership of it.
  • Freedom — Thunderbird is free and open-source software; its license, the Mozilla Public License 2.0, "ensures that it will remain free forever".
  • Voice — anyone can get involved, and a contributor-elected council keeps Thunderbird "true to its values and mission".

Thunderbird runs on Windows, macOS and Linux.[2]

A short history

The history of Thunderbird is marked by four eventful time periods:

9 pre-releases and the 1.0 milestone (2003–2004)

The Thunderbird project was founded in 2003 by Mozilla Foundation under the leadership of Scott MacGregor, with the stated goal "to make communicating and collaborating better".[1]

The software went through 9 pre-releases (version 0.1-0.9), before reaching the 1.0 milestone at the end of 2004.[3]

According to the Mozilla foundation, a few key selling points makes Thunderbird 1.0 stand apart from contemporary alternatives:[2]

  • Cross-platform availability: Thunderbird 1.0 works right out-of-box for Windows, Mac OS X and Linux;
  • Adaptive junk mail controls: With a dynamic Bayesian filter learning from user action (marking and unmarking emails as spam), the more Thunderbird 1.0 is used, the more accurate its spam filtering becomes;
  • High customisability: With built-in support for custom themes and extensions, user can personalise Thunderbird 1.0 to their taste and even add new functionalities;
  • Easy migration: Sanctioned, guided built-in migration from Outlook, Eudora, and Netscape Communicator, the most popular commercial email clients at the time.

Transition to community stewardship (2012–2015)

On July 6, 2012, Mozilla chairman Mitchell Baker announced a new direction: Mozilla's leadership had concluded that "on-going stability is the most important thing" for Thunderbird and that "continued innovation in Thunderbird is not a priority for Mozilla's product efforts".[4] Mozilla would provide security updates through an Extended Support Release process, and the community could organize for ongoing development.[4]

The Thunderbird project later called the decision "both a blessing and curse": the community kept the project alive and contributed many features, but a volunteer-driven effort without a proper organization accumulated an inconsistent interface and mounting technical debt.[5]

In 2014, contributors established the Thunderbird Council, an elected body "functioning much like a board of directors for an open-source project": it oversees funds, approves budgets and shapes the product roadmap.[1]

In June 2015, Thunderbird 38, released under the stewardship of the newly-elected Thunderbird Council, started shipping the calendar Lightning extension by default.[6]

Migration away from Mozilla infrastructure and creation of MZLA Technologies Corporation (2015–2020)

In late 2015, Mitchell Baker reopened a discussion about Thunderbird's future. According to him, Mozilla is happy to "disentangle the technical infrastructure" and assist the Thunderbird community, with the Mozilla Foundation serving as fiscal sponsor for donations.[7]

In 2017, on the advice of a report by Simon Phipps, former president of the OSI, commissioned by Mozilla, the Thunderbird Council announced that the Mozilla Foundation would remain the project's legal and fiscal home, but Thunderbird would migrate off Mozilla Corporation infrastructure and operate independently to continue serving its "over 25 million users" worldwide.[7]

In 2020, the project was transferred to MZLA Technologies Corporation, a new for-profit subsidiary fully-owned by the Mozilla Foundation. Cited reasons include easier recruitment, simpler governance, and possibilities to open commercial partnerships and offer paid services.[8] Essentially, the controversial move was justified as a necessary evil to ensure that Thunderbird remains financially sustainable as an open-source project.

Supernova rebuild, official Android support, and monthly releases (2023–2026)

In February 2023, the Thunderbird project announced plans for a ground-up rework with three objectives:[5]

1. make the code base leaner and remove technical debt; 2. rebuild the interface from scratch; 3. switch to a monthly release schedule.

Five months later, in July 2023, Thunderbird 115 "Supernova" shipped. Introducing a card view for the message list, a dynamic unified toolbar, a redesigned application menu, sortable folder modes, a tags view, and improving keyboard and screen-reader accessibility,[9] it is "a modernized overhaul of the software, both visually and technically".[9] according to its release notice. Ryan Sipes, Thunderbird's Product and Business Development Manager, said the release marked "the beginning of a new era for Thunderbird".[9]

In October 2024, Thunderbird Android, developed from K-9 Mail, made its first stable release, further fulfilling the cross-platform promise of Thunderbird.[10] As of September 2026, iOS is the only major operating system not yet officially supported by Thunderbird.

Today (2026-09), Thunderbird's release schedule has become extremely regular: one new major version every 4 weeks, and one Extended Support Release per year, typically in July.[11] Development of Thunderbird for iOS, described in the July 2026 progress report as the project's "first built from scratch" app, continues actively.[12]

Components and interactions

Written in C++, JavaScript, CSS and XHTML,[5] Thunderbird is built on the Mozilla platform. As the team describes it: "Thunderbird is literally a bunch of code running on top of Firefox. All the tabs and sections you see in our applications are just browser tabs with a custom user interface."[5] The Mozilla platform supplies multi-OS support, the Gecko web renderer, the SpiderMonkey JavaScript engine, as well as security patches and extension support from the Firefox release cycle.[5]

Every connection to an outside server flows through Necko, the Mozilla platform's networking library: the mail protocol implementations open their sockets through Necko's socket transport service, and HTTP-based traffic (CalDAV, autoconfiguration, add-on downloads) uses its HTTP channels.[13]

The profile directory holds the mail folders on disk and several SQLite databases: the address book back end keeps its books in SQLite (abook.sqlite),[14] the calendar component stores events in local.sqlite,[15] and the global message database (global-messages-db.sqlite) powers message indexing and search.[16]

Source code organisation

Thunderbird's source code repository is split into multiple sub-directories by functionality:[17]

  • mail/ — the Thunderbird-specific frontend: user interface files, shared JavaScript modules, and components such as the account setup wizard, the address book front end, the composition window, the chat front end and the preferences tab.
  • mailnews/ — "source code specific to the Mail and Newsgroups part of Thunderbird and SeaMonkey": the protocol and storage backend.
  • calendar/ — the calendar component, formerly known as the Lightning extension.
  • chat/ — the chat component, with one subdirectory per protocol; related code also lives in mail/components/im.
  • build/, testing/, taskcluster/ and third_party/ — build, test and vendored-code infrastructure.

Addons

Since Thunderbird 78 (July 2020 release), all add-ons must be built within Thunderbird's MailExtension framework,[18] which uses regular WebExtension technology via standard JavaScript, CSS and HTML. They interact with Thunderbird through dedicated extension APIs, which are generally stable across releases and subjected to user confirmation for access.[19]

Thunderbird in action

Account setup

Creating an account is a wizard flow. The user enters their name, email address and password, and Thunderbird tries to look up the correct server settings automatically:[20]

[1]: Concretely, the lookup uses a best-effort cascade chain:[20]

1. search for a local configuration file in the installation directory (<install-dir>/isp/<domain>.xml), mainly for enterprise deployments; 2. query the provider's own configuration server, e.g. https://autoconfig.<domain>/mail/config-v1.1.xml (preferred) or https://<domain>/.well-known/autoconfig/mail/config-v1.1.xml, then the same URLs over HTTP; 3. query the ISPDB[2], the Thunderbird project's central database of server settings (https://autoconfig.thunderbird.net/v1.1/<domain>); 4. perform a DNS MX lookup: the mail hoster found in the MX record is itself looked up in the ISPDB; 5. try common server names such as imap.<domain>, smtp.<domain>, and mail.<domain> and probe for SSL, STARTTLS and encrypted passwords;

If everything fails, Thunderbird asks user to configure the email account manually.

[2]: ISPDB is the acronym of the Internet Service Provider Database: a central database hosted by the Thunderbird project, containing server settings for the world's largest ISPs. Most ISPs with a market share of more than 0.1% are included, which lets Thunderbird autoconfigure a large share of users' accounts with no input beyond name, email address and password.[20]

The mail round trip

Incoming mail: Thunderbird connects to the server over IMAP or POP3,[2] downloads new messages into the profile, updates the message database, and notifies the interface. Outgoing mail goes out over SMTP.[2] After a successful send, Thunderbird appends a copy of the message to the Sent folder.[21]

The calendar round trip

Thunderbird's calendar component (formerly the calendar Lightning extension)[17] stores events and tasks locally in a SQLite database, the file local.sqlite in the profile.[15] Network calendars sync with remote servers over CalDAV (RFC 4791), using iCalendar (RFC 5545) as the data format, so the same calendar can be shared across devices and clients.[22] Invitations travel by email as .ics attachments, handled with iTIP;[22] accepting an invitation adds the event to the calendar and sends the reply back.

Key design decisions

Thunderbird rides on the Mozilla (Firefox) platform

Rather than building from scratch, developers chose to build Thunderbird on top of the Mozilla platform to benefit from its mature ecosystem.[5] This decision allows Thunderbird's relatively small team (~15 full-time equivalent) to focus on delivering core functionalities instead of reinventing the wheel.

Community governance, corporate backing

The Thunderbird project has a unique community-corporate dual-structure. The Thunderbird Council, elected by contributors since 2014, steers strategy and budget,[1] whereas MZLA Technologies Corporation, a for-profit subsidiary of the not-for-profit Mozilla Foundation created in 2020, manages day-to-day development and operations. This dual-structure ensures that while Thunderbird always remains a free and open-source community project, it is free to participate in commercial partnerships and offer optional paid services to finance development.[1][8]

Stable, permission-gated dedicated APIs for add-ons

Thunderbird is built from day one to support extensions. Its extensibility has long been a core selling point. However, in older versions, add-ons broke with nearly every release, mostly due to backward incompatible API changes. To mitigate the issue, the project gradually phased in a dedicated MailExtensions framework based on standard WebExtensions technology, powered by stable, permission-gated APIs dedicated to add-ons since 2018.[19] In 2020, with the release of version 78, MailExtensions became the only sanctioned framework for Thunderbird extensions.[18]

A regular and rapid release schedule

Since 2024, Thunderbird adopted Firefox's rapid release model: security and stability patches on demand, typically every two weeks; a new major version every 4 weeks; a new extended support release every year, typically in July.[11] The model ensures that new features can roll out rapidly to users without compromising long-term stability for users who value it.

Open protocols ensure maximum compatibility

Thunderbird is built on open protocols: IMAP, POP3, and SMTP for emails, NNTP and RSS for live feed, CalDAV and iCalendar for calendar, and IRC, XMPP, and Matrix for chat.[2][17] Its implementation of these standards is tracked on an official supported-standards list,[22] making it compatible with any service provider supporting the same open protocols.

Uncompromised privacy

Thunderbird's privacy stance is uncompromising: "You are not the product". It does not collect user data beyond anonymous usage statistics, and users can opt out at any time.[1] This stance, although logically not profitable, earned Thunderbird a solid reputation among privacy-conscious users.

A single profile directory facilitates migration

All of Thunderbird's data, preferences, mail folders, address books, and the message database, live in a single profile directory, which, on Linux, is ~/.thunderbird. As such, migration to a new machine is as simple as copying the profile directory to the equivalent location on the new machine.[8]

Try it yourself

Commands verified live on 2026-09-01.

Example command syntax is based on Linux bash. Windows command syntax is different.

# What is the latest stable release right now?
curl -s https://product-details.mozilla.org/1.0/thunderbird_versions.json

Output on 2026-09-01:

{
    "LATEST_THUNDERBIRD_ALPHA_VERSION": "54.0a2",
    "LATEST_THUNDERBIRD_DEVEL_VERSION": "156.0b1",
    "LATEST_THUNDERBIRD_NIGHTLY_VERSION": "157.0a1",
    "LATEST_THUNDERBIRD_VERSION": "154.0",
    "THUNDERBIRD_ESR": "140.14.1esr",
    "THUNDERBIRD_ESR_NEXT": "153.1.1esr"
}

Install the official Flatpak packaged and maintained by the Thunderbird team:[9]

# Install from Flathub
flatpak install flathub org.mozilla.Thunderbird
# Launch it
flatpak run org.mozilla.Thunderbird

Or use your distribution's package, which may be somewhat outdated:

# Debian / Ubuntu
sudo apt install thunderbird

References

  1. ↑ ↑ ↑ ↑ ↑ ↑ MZLA Technologies Corporation. (n.d.). Who We Are (Webpage). In Thunderbird (Website).
  2. ↑ ↑ ↑ ↑ ↑ Mozilla Foundation. (2004). Mozilla Thunderbird 1.0 email client has landed (Webpage). In Mozilla Press Center (Website).
  3. ↑ MZLA Technologies Corporation. (n.d.). Thunderbird Releases (Webpage). In Thunderbird (Website).
  4. ↑ ↑ Baker, M. (2012). Thunderbird: Stability and Community Innovation (Webpage). In Mitchell Baker’s Blog (Website).
  5. ↑ ↑ ↑ ↑ ↑ ↑ Castellani, A. (2023). Why We’re Rebuilding The Thunderbird Interface From Scratch (Webpage). In Thunderbird Blog (Website).
  6. ↑ James, K. (2015). Thunderbird 38 Released (Webpage). In Thunderbird Blog (Website).
  7. ↑ ↑ Kewisch, P. (2017). Thunderbird’s Future Home (Webpage). In Thunderbird Blog (Website).
  8. ↑ ↑ ↑ Kewisch, P. (2020). Thunderbird’s New Home (Webpage). In Thunderbird Blog (Website).
  9. ↑ ↑ ↑ ↑ Evangelho, J. (2023). Our Fastest, Most Beautiful Release Ever: Thunderbird 115 "Supernova" Is Here! (Webpage). In Thunderbird Blog (Website).
  10. ↑ Kewisch, P. (2024). Thunderbird for Android 8.0 Takes Flight (Webpage). In Thunderbird Blog (Website).
  11. ↑ ↑ MZLA Technologies Corporation. (n.d.). Release Cadence (Webpage). In Thunderbird Developer Documentation (Website).
  12. ↑ MZLA Technologies Corporation. (2026). Mobile Progress Report: July 2026 (Webpage). In Thunderbird Blog (Website).
  13. ↑ MZLA Technologies Corporation. (n.d.). Email Protocols (Webpage). In Thunderbird Source Docs (Website).
  14. ↑ MZLA Technologies Corporation. (n.d.). Address Book (Webpage). In Thunderbird Developer Documentation (Website).
  15. ↑ ↑ MZLA Technologies Corporation. (n.d.). Create new calendars (Webpage). In Mozilla Support (Website).
  16. ↑ MZLA Technologies Corporation. (n.d.). Rebuilding the Global Database (Webpage). In Mozilla Support (Website).
  17. ↑ ↑ ↑ MZLA Technologies Corporation. (n.d.). Codebase Overview (Webpage). In Thunderbird Developer Documentation (Website).
  18. ↑ ↑ MZLA Technologies Corporation. (2020). Thunderbird 78.0 Release Notes (Webpage). In Thunderbird (Website).
  19. ↑ ↑ MZLA Technologies Corporation. (n.d.). About Add-ons (Webpage). In Thunderbird Developer Documentation (Website).
  20. ↑ ↑ ↑ Bucksch, B. (n.d.). Thunderbird Autoconfiguration (Webpage). In bucksch.org (Website).
  21. ↑ MZLA Technologies Corporation. (n.d.). Copies and Folders (Webpage). In Mozilla Support (Website).
  22. ↑ ↑ ↑ MZLA Technologies Corporation. (n.d.). Supported Standards (Webpage). In Thunderbird Developer Documentation (Website).

Further reading