Thunderbird Enterprise Tips

Miscellaneous tips for deploying and using Thunderbird in enterprise or organizational contexts.
Some of the tips on this page have been drawn from the tb-enterprise mailing list, which is an excellent resource for problem support and information.

Using a custom CA certificate

Scenario: The cert8.db file is created when Thunderbird creates a profile. I want the file to contain our custom CA certificate. Solution (needs testing):
  • Create a master file by manually importing the certificate into the cert8.db file from a new profile.
  • Copy that file into the defaults\profile subfolder of the Thunderbird
    program folder (e.g. C:\Program Files\Mozilla Thunderbird\defaults\profile on Windows).
  • If you then use that installation to create new profiles (thunderbird.exe -p), your customized cert8.db will be used for the new profiles.
  • Note: For existing profiles, you have to overwrite the cert8.db in each profile.
​Read the complete discussion on the mailing list.

Setup users to access LDAP information from the address book

Scenario: How to automatically set up new or existing users of Thunderbird so they can access Active Directory LDAP information from their address books? Solution:
  • To create LDAP access when creating new users:
    • Unpack the installer, e.g. Thunderbird Setup XX.X.X.exe using an appropriate tool like 7-Zip.
    • Create a script called user.js with the required prefs for the LDAP server.
    • Place the user.js script into the core\defaults\profile folder of the unpacked corporate installer before starting to install.
  • To update existing users of Thunderbird with LDAP access:
    • Create the settings for the LDAP directory in a script with a filename of your choice via API functions like lockPref and defaultPref, e.g. LDAPupdate.cfg.
    • Then use the Mission Control Desktop / AutoConfig mechanism to apply them with a caller script in the defaults\pref subfolder of the user's Thunderbird program folder, e.g. autoconfig.js.
Example: Update existing users of Thunderbird with LDAP access
Create a JavaScript caller file named autoconfig.js in the following subfolder of the Thunderbird program folder:
  • For Windows, e.g.: C:\Program Files\Mozilla Thunderbird\defaults\pref
  • For Linux: /usr/lib/thunderbird/defaults/pref
Add the following content to autoconfig.js:
pref("general.config.obscure_value",0);
pref("general.config.filename","LDAPupdate.cfg");
Create a JavaScript configuration file named LDAPupdate.cfg and place it into the Thunderbird program folder, with code like the following:
defaultPref('ldap_2.autoComplete.directoryServer','ldap_2.servers.AutoGEN-CompanyNameLDAP');
defaultPref('ldap_2.autoComplete.useDirectory',true);
defaultPref('ldap_2.servers.AutoGEN-CompanyNameLDAP.auth.dn','[email protected],ou=orgunit,dc=CompanyName,dc=com'); //this will vary for each company and each user, so it is set as default, but not locked so that users can set their correct values
lockPref('ldap_2.servers.AutoGEN-CompanyNameLDAP.auth.saslmech',''); // SASL mechanism, if necessary
lockPref('ldap_2.servers.AutoGEN-CompanyNameLDAP.autoComplete.commentFormat',''); //Any additional LDAP attributes to display on the autocomplete window
lockPref('ldap_2.servers.AutoGEN-CompanyNameLDAP.autoComplete.filterTemplate','(|(displayName=%v*)(sn=%v*)(cn=%v*)(uid=%v*))'); //LDAP Attributes to Search for Autocomplete
lockPref('ldap_2.servers.AutoGEN-CompanyNameLDAP.autoComplete.nameFormat','[displayName]'); //LDAP Attribute for display name
lockPref('ldap_2.servers.AutoGEN-CompanyNameLDAP.description','CompanyName Autogenerated LDAP Directory'); //Human Readable description
lockPref('ldap_2.servers.AutoGEN-CompanyNameLDAP.filename','CompanyName-autogen-ldap.mab'); //Possibly where results are cached
defaultPref('ldap_2.servers.AutoGEN-CompanyNameLDAP.maxHits',300);
lockPref('ldap_2.servers.AutoGEN-CompanyNameLDAP.nameFormat','[displayName]');
lockPref('ldap_2.servers.AutoGEN-CompanyNameLDAP.uri','ldaps://ldapserver.CompanyName.com/ou=orgunit,dc=CompanyName,dc=com??sub?(objectclass=person)'); //this will vary for each company
defaultPref('ldap_2.servers.default.attrmap.DisplayName','displayName,gecos');
defaultPref('ldap_2.servers.default.autoComplete.filterTemplate','(|(displayName=%v*)(sn=%v*)(cn=%v*)(uid=%v*))');
defaultPref('ldap_2.servers.default.autoComplete.nameFormat','displayName');
defaultPref('mail.addr_book.quicksearchquery.format','?(or(FirstName,c,@V)(sn,c,@V)(DisplayName,c,@V))');
If you are already using Mission Control Desktop, add the second snippet (modified to suit your environment) to your existing auto-configuration file (e.g. thunderbird.cfg) and ignore the first snippet.
​Read the complete discussion on the mailing list.