Email Addresses in Message Headers 3.2 Requires Restart
by Patrick Dark
Shows email addresses in message headers, including those of contacts, and provides control over message header presentation.
About this Add-on
If there is no display name, only the email address will show.
If there is no email address ( i.e., the email address is malformed ), only the malformed email address will show. Malformed email addresses are shown alone with a line through them.
This extension is most useful for users who prefer that the “Show only display names for people in my address book” option be enabled ( under Tools: Options: Display ), but will also work with it disabled.
Email address associations with contact cards ( and thereby display names ) are done automatically by Mozilla Thunderbird, so this extension will not utilize contact card display names in cases where Thunderbird does not correctly associate contact cards with a corresponding email address. Specifically, this extension will not reflect the Additional Email field in contact cards. I recommend not using this field and creating additional contact cards instead ( which utilize only the Email field ) if a contact has multiple email addresses.
There are three preferences that may be set.
The first is
extensions.EAIMH.allow_email_address_display_name
, which defaults to the Boolean value false
. This preference hides display names when they’re a case‑insensitive match for the email address. For example, a mailing list—such as [email protected]—may have a display name that is identical to its email address; by default, only [email protected] will appear unless this preference is toggled.The second and third preferences control which characters are used to demarcate email addresses:
extensions.EAIMH.email_address_prefix_hex_codes
extensions.EAIMH.email_address_suffix_hex_codes
The preference values require a space‑separated list of hexadecimal codes. The hex codes are written using an ECMAScript / JavaScript syntax. The default values are:
0xa0 0x28 0x200d 0x200a 0x200d
0x200d 0x200a 0x200d 0x29
A description of the default value hex codes:
0xa0
: non‑breaking space0x28
: left parenthesis0x29
: right parenthesis0x200a
: hair space0x200d
: zero‑width joiner0x200d 0x200a 0x200d
: non‑breaking hair space
Hex codes ( instead of direct character entry ) must be used to overcome design weaknesses in both ECMAScript and Thunderbird.
I recommend the BabelMap program by Andrew West for looking up hex codes of characters. In BabelMap, you can get the hex codes of a character by selecting it; the hex code will then appear to the lower‑left of the character frame preceded by the characters “U+”. Note that preceding zeros are unnecessary ( e.g., U+003C should be written as
0x3c
instead of 0x003c
).Note that preference validity is enforced, so entering an invalid value will reset the relevant preference.