Thunderbird

From ArchWiki

Thunderbird is an open source email, news, and chat client previously developed by the Mozilla Foundation.

Installation

Install the thunderbird package, with a language pack if required.

Other versions include:

  • Thunderbird Beta — Cutting edge features with relatively-good stability.
https://www.thunderbird.net/channel/ || thunderbird-beta-binAUR
  • Thunderbird Nightly — Experience the newest innovations with nightly releases (for those that want to work with breakages).
https://ftp.mozilla.org/pub/thunderbird/nightly/latest-comm-central/ || thunderbird-nightly-binAUR

A version overview, both past and future, can be read on MozillaWiki:Releases.

Securing

  • Thunderbird sends your system's internal IP address to the configured SMTP server as an argument to the HELO/ELHO SMTP command. This value can be overridden by setting mail.smtpserver.default.hello_argument to, for example, localhost. Setting this value may increase the spam score of messages you send. See [1] and [2].
  • Thunderbird disables email images by default but enables HTML rendering which may expose IP address and location. To disable this click View > Message Body As > Plain Text.
  • JavaScript is disabled for message content but not for RSS news feeds. To disable set javascript.enabled to false in the #Config editor.

Extensions

  • Birdtray — System tray new mail notification which does not require extensions. Run Thunderbird with a system tray icon.
https://github.com/gyunaev/birdtray || birdtrayAUR
  • SysTray-X — system tray extension. Similar to FireTray but works with Thunderbird 68+.
https://github.com/Ximi1970/systray-x || systray-x-gitAUR
  • SOGo Connector — Lets you sync address books via CardDAV
https://sogo.nu/download.html#/frontends || thunderbird-sogo-connector-binAUR
  • Cardbook — A new addressbook for Thunderbird based on the CARDDav and VCARD standards.
Cardbook AMO ||

OpenPGP: signing and encryption

From Thunderbird 78.2.1 onwards, this functionality is integrated into Thunderbird. This was previously provided by the Enigmail add-on, which is not compatible with Thunderbird 78+. To migrate keys from Enigmail to Thunderbird, as well as learn what is currently supported, see Thunderbird OpenPGP FAQ. Before migration, make sure that a strong passphrase is used for the master password. Otherwise the private key will not be properly protected.

Tips and tricks

Config editor

Thunderbird can be extensively configured by clicking the Thunderbird Menu > Preferences > General and looking for the Config Editor button at the bottom of the page. Alternatively, if the menu bar is toggled the Config Editor button can be found by clicking Edit > Preferences > General

Set the default browser

Thunderbird uses the default browser as defined by the XDG MIME Applications. This is commonly modified by desktop environments (for example GNOME's Control Center: Details > Default Applications > Web).

This can be overridden with network.protocol-handler.warn-external in the #Config editor

If the following is all set to false (default), set them to true and Thunderbird will ask you which application to use when you click on a link (remember to also check "Remember my choice for .. links").

network.protocol-handler.warn-external.http
network.protocol-handler.warn-external.https

Plain text mode and font uniformity

Plain Text mode lets you view all your emails without HTML rendering and is available in View > Message Body As. This defaults to the Monospace font but the size is still inherited from original system fontconfig settings. The following example will overwrite this with Ubuntu Mono of 10 pixels (available in: ttf-ubuntu-font-family).

Remember to run fc-cache -fv to update system font cache. See Font configuration for more information.

~/.config/fontconfig/fonts.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="pattern">
    <test qual="any" name="family"><string>monospace</string></test>
    <edit name="family" mode="assign" binding="same"><string>Ubuntu Mono</string></edit>
    <!-- For Thunderbird, lowering default font size to 10 for uniformity -->
    <edit name="pixelsize" mode="assign"><int>10</int></edit>
  </match>
</fontconfig>

Migrate profile to another system

Tip: The ImportExportTools NG add-on offers an option to export and import a profile folder.

Before you start with Importing or Exporting tasks, backup your complete ~/.thunderbird profile:

$ cp -R ~/.thunderbird /to/backup/folder/

With migration you just copy your current Thunderbird profile to another PC or a new Thunderbird installation:

  1. Install Thunderbird on the target PC.
  2. Start Thunderbird without doing anything and quit it.
  3. Copy the profile content from your backup folder into the target profile folder:
    $ cp -R /to/backup/folder/.thunderbird/<oldrandomnumber>.default/* ~/.thunderbird/<newrandomnumber>.default/

Export and import

Before you start with Importing or Exporting tasks, backup your complete ~/.thunderbird profile:

$ cp -R ~/.thunderbird /to/backup/folder/

If your accounts are broken or you want to join two different Thunderbird installations, you can install ImportExportTools NG add-on for both Thunderbird installations and following this just export and import all your data to the new installation.

Change the default sorting order

Thunderbird (up to at least 31.4.0-1) sorts mail by date with the oldest on top without any threading. While this can be changed per folder, it is easier to set a sane default instead as described here.

Set these preferences in the #Config editor:

mailnews.default_sort_order = 2 (descending)
mailnews.default_view_flags = 1 (Threaded view)

Maildir support

The default message store format is mbox. To enable the use of Maildir, see MozillaWiki:Thunderbird/Maildir. You basically have to set the following preference in the #Config editor:

mail.serverDefaultStoreContractID = @mozilla.org/msgstore/maildirstore;1

Some limitations up to at least 31.4.0-1: only the "tmp" and "cur" directories are supported. The "new" directory is completely ignored. The read state of mails are stored in a separate ".msf" file, so initially all local mail using Maildir will be marked as unread even when located in the "cur" directory. It is also possible to change this setting in the regular user interface now: Go to Menu > Preferences > General > Indexing > Message Store Type for new accounts and choose File per message (maildir).

Spell checking

Install hunspell and a hunspell language dictionary and restart Thunderbird.

See the Firefox article for how to set the default spell checking language.

Native notifications

Make sure that mail.biff.use_system_alert in the #Config editor is set to "true" (default). This option means that extensions (such as Gnome Integration) are not needed for these newer versions of Thunderbird.

You might also need to install libnotify

Theming tweaks

Thunderbird should conform to GTK#Themes as defined on your system. However, two tweaks are desirable for full consistency. These are most beneficial for dark themes.

  1. To view the body of emails with colors following your theme:
    1. Go to Menu > Preferences > Preferences
    2. Select the Display tab
    3. Click the Colors button
    4. Check Use system colors
    5. Set the option for Override the colors specified by the content with my selection above to Always or Only with High Contrast themes
  2. To view Lightning calendar with colors following your theme:
    1. Go to Menu > Preferences > Preferences
    2. Select the Calendar tab
    3. Check Optimize colors for accessibility

Further customization can be attained by creating and editing a userchrome.css. See Firefox/Tweaks#General user interface CSS settings and Mozillazine's userchrome page.

Keyboard bindings

Thunderbird unfortunately lacks an easy way to disable single-key bindings, such that pressing e.g. "a" on the keyboard will not archive a message. The tbkeys-lite extension provides a means of editing and deleting such bindings and is available for Thunderbird 68.0 onwards.

Use OpenPGP with external GnuPG

Starting with v78.1, Thunderbird now ships with integrated OpenPGP support previously provided by Add-Ons like Enigmail. It will offer you to migrate your existing Enigmail keys into Thunderbird upon the first start after the update. If you do not want to store your private keys inside Thunderbird, it is possible to use Thunderbird with an external GnuPG installation in order to keep your keys safe or use a Smartcard.

  1. To view any OpenPGP keys stored inside Thunderbird:
    1. Go to Menu > Tools > OpenPGP Key Manager
    2. Disable View > Display Keys from other people for better visibility of your own keys. Private keys are displayed in bold.
    3. Review present keys and possibly delete them.
    4. Import public keys of any external private keys you want to use using File > Import public key(s) from file. See GnuPG#Export your public key.
  2. To enable external GnuPG support in Thunderbird:
    1. Make sure you have gnupg and the gpgme C library installed and relevant keys available or created.
    2. Open the #Config editor
    3. Search for mail.openpgp.allow_external_gnupg and set its value to true
    4. Go to Menu > Account Settings and select the account you want to use. Then click Manage Identities and select the Identity you want to edit. Click Edit > End-To-End Encryption > Add Key. Select Use your external key through GnuPG and paste your key ID from GnuPG. Note that Key ID is the last 16 characters of your primary key fingerprint.

Refer to MozillaWiki:Thunderbird:OpenPGP:Smartcards for further instructions and specialized configurations.

Wayland

You can use the following way to start Thunderbird natively on wayland:

$ MOZ_ENABLE_WAYLAND=1 thunderbird

Tor

To route the connection to the server through the Tor network the proxy settings must be set accordingly.

  1. Make sure you have tor installed and that the process is running.
  2. In Thunderbird go to Menu > Preferences > General. In the Network & Disk Space > Connection section, click on the Settings... button.
  3. Select Manual proxy configuration, enter localhost as SOCKS Host and 9050 as Port (9050 is the default; it may be configured differently in /etc/tor/torrc). Select Proxy DNS when using SOCKS v5.

Troubleshooting

LDAP Segfault

An LDAP clash (Bugzilla#292127) arises on systems configured to use it to fetch user information. A possible workaround consists of renaming the conflicting bundled LDAP library.

Error: Incoming server already exists

If you want to reinstall a previously deleted account with the same account data, you might get a popup with "Incoming server already exists". See bug Bugzilla#1121151 for details. Unfortunately, if you get this error you can now only clean reinstall Thunderbird:

1. Make a backup of your current profile:

$ cp -R ~/.thunderbird /to/backup/folder/

2. Export all your Accounts, Calendar and Feeds via an add-on like it is written in Export section of this Wiki.

3. Close Thunderbird

4. Remove all your data by deleting your current Thunderbird folder rm -R ~/.thunderbird/.

5. Start Thunderbird

6. Create your mail accounts, feeds and calendars (empty).

7. Install the ImportExportTools NG add-on

8. Import all your data.

Thunderbird UI freezes when receiving a new message

If Thunderbird is configured to show an alert when a new message arrives, or at launch, the lack of a notification daemon may freeze the interface (white screen) for many seconds. You can solve this issue by disabling alerts or installing a notification server.

LC_TIME environment variable not respected

Thunderbird should use the LC_TIME environment variable for localization, but it might not do so in all contexts. Some problems can be mitigated by setting Menu > Preferences > Preferences > Advanced > Date and Time Formatting to Regional settings locale, a setting which was introduced in Thunderbird 56.

With version 60, Gecko started using the CLDR project for localization, including datetime formatting, which uses different settings than most other software based purely on LC_TIME. There is a bug report for this issue that includes workarounds with varying effects. To achieve ISO-8601-formatted dates in Thunderbird and a week beginning on Monday, use LC_TIME=lt_LT thunderbird.

Starting in Thunderbird version 91, one can set a number of preferences to make Thunderbird compliant with ISO-8601. Most programs can be set to ISO-8601 by setting your region locale to en_DK, but by default Thunderbird ignores regional locale preferences. See [3] for details.

Authentication failure while connecting to server imap.gmail.com error when using OAuth2 with G Suite account

Sometimes Thunderbird fails to log in to G Suite with Authentication failure while connecting to server imap.gmail.com error. It can be fixed with setting general.useragent.compatMode.firefox setting to true in #Config editor and then passing authentication stage again.

Outlook 365 SMTP fails to authenticate with OAuth2 authentication

Apparently by default, SMTP authentication is disabled for Outlook 365 accounts. Use the Microsoft 365 admin center to enable it. Refer to: Enable SMTP AUTH for specific mailboxes.