Syncing your Thunderbird Install Using Dropbox

2 minute read Published:

I have definitely found a lot of decent uses for Dropbox, but none better than syncing my Thunderbird settings.

The Problem

I use a laptop, a work desktop, a home desktop, and occasionally I’ll pull up my email on the HTPC. I found that I had to install Thunderbird on each, which in itself isn’t that bad at all, but when it comes to configuring everything for my three emails and multiple settings that I use, it becomes a nightmare. When I change something on one machine, I have to change it on all of them.

The Solution

First, you want to make sure you have both Thunderbird and Dropbox installed. If you don’t and you’re using Ubuntu Linux, you can use:

sudo apt-get install nautilus-dropbox thunderbird

You need to make sure that you’ve opened Thunderbird at least once on each computer you install it on. This will create the Thunderbird settings folder in your home folder. Go to your home folder and look for .thunderbird. In that folder, you’ll find a folder with a name that ends in .default. Move that folder to your Dropbox folder (only on the first computer). Note: on a Windows sytem, this folder is in C:\Users\YourName\AppData\Roaming\Thunderbird\Profiles

Back in the .thunderbird folder (One folder up in Windows), open profiles.ini. In here, I usually set IsRelative to 0 and use a full path in Path, but you don’t have to. You could leave it relative and use ../Dropbox/abcdefg.default, where abcdefg.default is the obscurely named folder Thunderbird creates.

In the end, your profiles.ini should look like this:

[General]
StartWithLastProfile=1

[Profile0]
Name=default
IsRelative=0
Path=/home/yourname/Dropbox/abcdefg.default

Notes

This approach is good for situations where you only use one computer at a time. If you commonly leave your desktop on while you use your laptop in the other room, this solution will occasionally create conflict files that need to be dealt with. I use this cron:

*/5 * * * * find /home/yourname/Dropbox/abcdefg.default/ -name '*conflicted copy*' -exec rm {} ;

As long as you don’t have anything with “conflicted copy” in the name, you should be good.