The best way is to use rsync, I've set it up so it doesn't copy unnecessary files, or at least ones I'm sure aren't needed.
Here is the rsync command I used (adapt to your specific Thunderbird profile location):
rsync -hazv user@remotehost.com:/home/user/.thunderbird/sbrer.default/* /home/user/.thunderbird/4nyb0.default/ --exclude=global* --exclude=Cache --exclude=ImapMail --exclude=Mail
This is a great way to get your e-mail accounts going on a new computer no matter where you are, or on a new install of Thunderbird.
Keep the exclude statements, I excluded "global*" because those are the message databases and can be gigabytes in size. I also excluded the Cache ImapMail and Mail folders for the same reason.
The above command made it so when I opened Thunderbird that all my account settings/folders were there so I didn't have to manually create anything. This saves the hassle of setting up again especially if you have several mail accounts and custom settings (eg. SSL specific ports etc..)
Update the best way*
I finally figured out what files you need as a minimum to restore your e-mail accounts and settings.
They are as follows:
prefs.js
key3.db
signons3.txt
signons.sqlite
abook*
*Note that I had to disable all add-ons to make it work on one of my machines (it would take100% CPU and loop for more than 24 hours). This may be because I have dozens of e-mail accounts with several hundred thousands of messages.
How to Copy msgFilters
They are stored inside a folder inside your profile which will either be "Mail" or "ImapMail" depending on if you use POP3 or IMAP.
Here is a script I've made for bash/Linux to automatically do it. For it to work you need to enter the original/old profile folder.
eg. /home/youruser/.thunderbird/abcprofile-default
cd /home/youruser/.thunderbird/abcprofile-default
Put this code into a file in your folder profile and make it executable chmod +x
#!/bin/bash
dest=$1
if [ -d "$dest" ]; then
for filter in `find .|grep -i msgFilterRules`; do
echo "copy $filter to $dest"
cp -a $filter $dest/$filter
done
fi
Execute it below by passing it the path/dir of your new profile
./thescriptabove.sh /home/user/.thunderbird/newprofile-default
This script works great for me because I have dozens of mail boxes so it saves me from manually copying.
thunderbird, restore, settings, computerthe, rsync, ve, doesn, unnecessary, aren, adapt, hazv, user, remotehost, sbrer, default, nyb, exclude, global, cache, imapmail, install, statements, excluded, quot, databases, gigabytes, folders, didn, manually, saves, hassle, custom, eg, ssl, ports, etc, update, follows, prefs, js, db, signons, txt, sqlite, abook, disable, ons, cpu, dozens, msgfilters, stored, folder, depending, imap, bash, linux, automatically, youruser, abcprofile, executable, chmod, bin, dest, filter, grep, msgfilterrules, echo, cp, fi, execute, dir, thescriptabove, sh, newprofile, copying,