Thunderbird
Related articles
Mozilla Thunderbird is an open source email, news, and chat client developed by the Mozilla Foundation.
Installation
Install thunderbird from the official repositories with a language pack if required.
Other versions can be found in the AUR, including:
- Thunderbird Beta — Cutting edge features with relatively-good stability.
- Thunderbird Earlybird — Experience the newest innovations as they're developed (equivalent to an alpha and Firefox Aurora releases).
- Thunderbird Nightly — Experience the newest innovations with nightly releases (for those that want to work with breakages).
- https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-comm-central/ || thunderbird-nightly
A version overview, both past and future, can be read on the Mozilla wiki.
Securing
Information disclosure
Thunderbird does a reverse DNS lookup of internal.private.hostname.and.private.domain
by default. To help Thunderbird find what it is looking for, and prevent potential information leaks, set your hostname as explained in Network configuration#Set the hostname.
Thunderbird also sends an EHLO
request when sending email via SMTP, followed by the above DNS lookup. (i.e. EHLO myprivatehostname.myprivatedomain
). To disable this behaviour,
- Go to Preferences > Advanced > General tab > Config Editor.
- Search "smtp" and find the entry that matches your outgoing SMTP server (the third field will have something like "smtp1", "smtp2", etc.).
- Right-click the entry and choose New > String, then enter "mail.smtpserver.smtp#.hello_argument" as the argument, where "#" is the number of the mailserver (e.g. "mail.smtpserver.smtp1.hello_argument").
- In the next box, enter anything but an empty field (an empty field would use you default internal hostname and internal domain).
Do disable operation system information in mail headers:
- Go to Preferences > Advanced > General tab > Config Editor.
- Search "general.useragent".
- Right-click on the entry and choose New > String, then enter "general.useragent.override" and leave the second field empty.
While Thunderbird disables email images by default, it enables HTML rendering which may expose IP address and location. Choose View > Message Body As > Plain Text to disable this.
JavaScript is disabled for message content but not RSS feeds.
- Go to Preferences > Advanced > General tab > Config Editor.
- Search "javascript.enabled" and change the value to false.
Extensions
EnigMail - Encryption
EnigMail is an extension that allows writing and receiving email signed and/or encrypted with the OpenPGP standard. It relies on the GNU Privacy Guard (GnuPG).
Common AUR packages include: thunderbird-enigmail and thunderbird-enigmail-bin.
Sharing the public key
To distribute the public key one may upload it to a keyserver.
Encrypting emails
Encryption does not always work properly with emails containing HTML. It is best to use plain text by choosing Options > Delivery Format > Plain Text Only in the new email window.
Once the email is finished it can be signed through the OpenPGP menu.
Decrypting emails
Assuming that the email was encrypted properly, just trying to open it should result in a pop-up asking to type in the keyphrase.
Information disclosure
By default, Enigmail discloses some information in the email headers and the OpenPGP comment field. This includes the name Enigmail, along with the GnuPG name and version. Both can be disabled in the Config Editor (Edit > Preferences > Advanced > General).
To hide the Enigmail name, set extensions.enigmail.addHeaders
to false.
To hide the GnuPG information, set extensions.enigmail.useDefaultComment
to true. Alternatively, uncheck "Add Enigmail comment in OpenPGP signature" in: OpenPGP > Preferences > Advanced ("Expert Settings" needs to be enabled).
To remove Thunderbird's user agent, right-click in Config Editor and choose New > String and set the preference name general.useragent.override
with an empty value.
Blank draft messages
If after upgrading to gnupg v2.1 your saved draft emails have gone "blank" and show a pink bar displaying:
Enigmail Error - no matching private/secret key found to decrypt message; click on 'Details' button for more information
or, when you have a "Write" window open you repeatedly see a popup window with:
The email address or key ID 0xkey_id cannot be matched to a valid, not expired OpenPGP key. Please ensure that you have a valid OpenPGP key, and that your account settings point to that key.
and gpg --list-keys
fails to show some keys that used to be there, see GnuPG invalid packet workaround.
TorBirdy - Anonymity
TorBirdy is an extension that configures Thunderbird to make connections over the Tor anonymity network.
FireTray - Tray icon
FireTray is an extension that adds a customizable system tray icon for Thunderbird. It is available in the AUR as thunderbird-firetray.
Lightning - Calendar
Lightning is a calendar extension that brings Sunbird's functionality to Thunderbird.
It is available in the AUR as thunderbird-lightning-bin.
In case you are migrating a user profile (with Lightning installed there) from another platform (e.g. Windows), you may have to reinstall the Lightning addon from the mozilla addon page because Lightning is platform-dependent.
Tips and tricks
Setting the default browser
Recent versions of Thunderbird use the default browser as defined by the system MIME settings. This is commonly modified by the Gnome Control Center (Gnome Control Center > Details > Default Applications > Web) (available in: gnome-control-center).
This can be overridden in Thunderbird through Edit > Preferences > Advanced > General > Config Editor by searching for network.protocol-handler.warn-external
.
If the following three are all set to false (default), turn them to true, and Thunderbird will ask you when clicking on links which application to use (remember to also check "Remember my choice for .. links").
network.protocol-handler.warn-external.ftp 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>
Webmail with Thunderbird
- See upstream Wiki: Using webmail with your email client.
Migration
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. Go to your Backup folder of your old Thunderbird installation
4. Enter the backup profile folder:
$ cd /to/backup/folder/.thunderbird/<oldrandomnumber>.default/
5. Copy its content into the target profile folder ~/.thunderbird/<newrandomnumber>.default/
$ cp -R /to/backup/folder/.thunderbird/<oldrandomnumber>.default/* ~/.thunderbird/<newrandomnumber>.default/
Export + 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 better install one Import and Export AddOn (eg. ImportExportTools AddOn) to both Thunderbird installations and following this just export and import all your data to the new installation.
Changing 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 in this Superuser.com post.
Go to Edit -> Preferences -> Advanced -> General -> Config Editor and set these keys:
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 Mozilla wiki: Thunderbird/Maildir. You basically have to set this preference through (Edit -> Preferences -> Advanced -> General -> 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.
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
It seams Thunderbird (v24) still has that bug which pops up with "Incoming server already exists" if you want to reinstall a previously deleted account with the same account data afterwards. 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 you Accounts, Calendar and Feeds via an AddOn like it's written in Export section of this Wiki. 3. Uninstall your current Thunderbird installation
$ pacman -R thunderbird
4. Remove all your data by deleting your current Thunderbird folder rm -R ~/.thunderbird/
.
5. Install Thunderbird again:
$ pacman -S thunderbird
6.Create your mail accounts, feeds and calenders (empty).
7. Install the ImportExportTools AddOn
8. Import all your data.