Synchronizing mail on two computers

From MozillaZine Knowledge Base

This article was written for Thunderbird but also applies to Mozilla Suite / SeaMonkey (though some menu sequences may differ).

There are several different ways to synchronize messages on two different computers.

  • If possible, switch to an IMAP account. All your mail (incoming, outgoing, drafts, etc.) will be stored on the server and be accessible from multiple computers. Many IMAP providers also let you configure your account (server-side) to fetch mail from separate POP accounts. You could also use the Synch Kolab extension to synchronize your address books.
  • Install Thunderbird separately on each computer but store your profile on a portable USB device or on a network file share. To launch Thunderbird with that profile, use the -profile "path" command line argument.
  • Set Thunderbird to leave incoming mail on the server (for a long enough period of time) so that the same messages can be downloaded on both computers.
  • If you don't care about synchronizing the folder(s) storing copies of messages you sent:
  • Check "Leave messages on server" and "For at most X days" in Tools -> Account Settings -> [account name] -> Server Settings on each computer.
  • If you do care about synchronizing the folder(s) storing copies of any messages you sent:
  • For the secondary computer only (such as a laptop), go to "Tools -> Account Settings -> [account name] -> Server Settings", check the box for "Leave messages on server", and then set "Tools -> Account Settings -> Copies & Folders -> Bcc these email addresses" to automatically send yourself a copy of any messages you send.
  • On your primary computer write a message filter that moves those messages to your Sent folder and marks them as read.
  • Use a script or batch file like 4NT to synchronize the files in two profiles. This method is most likely to cause problems, especially if you forget to synchronize before doing something that modifies the profile.
  • Both Unison and DirSync Pro are file synchronization tools that can run on Windows, Linux or OSX and synchronize files on two or more computers. They are bidirectional - if there are conflicting updates it displays them and lets the user choose the appropriate action. You can also configure what it should do when there are conflicts. See this article for a comparison of the two utilities.
  • FreeFileSync synchronizes files and folders for Windows, Linux and Mac OS X. It lets you drag and drop files, detects moved or renamed documents, can copy locked files, access variable drive letters by volume name (USB/flash drives) and offers full support for symbolic links. It supports binary file comparisons and can do automated synchronizations as a batch job.
  • GoodSync is a commercial program for Windows, Linux and Mac OS X that directly syncs files between your computer, mobile devices, FTP, SFTP, Amazon S3, Google Drive, SkyDrive, WebDAV, and Azure. It supports bi-directional synch, encrypted file transfer, file verification, and scheduled synch/backup.
  • Windows used to have tools to support direct PC-to-PC synchronization such as Folder Share, Windows Live Sync or Windows Live Mesh. The current trend is to use a cloud service such as OneDrive (or Dropbox etc.) to synchronize between two devices.

One limitation of most file synchronization solutions is that they assume when synchronizing two profiles that one copy of each file is up to date and that you just need to replicate it. That is not always true. If you delayed syncing long enough each inbox or sent folder might have some messages the corresponding folder in the other profile doesn't have. In that case rather than comparing the time/date stamp of the mbox files and copying the latest version of the file it should compare the messages id's of each message in the folder and merge the contents of the two mbox files so that each has a copy of all of the messages.

A google search will find a number of Perl and Python scripts that do that, but most of them appear to be unsupported one time hacks. Mbox merge requires you to install Python, but it provides a GUI and the author created a web page to document it. Another possibility would be mboxmerge . It doesn't have a GUI and requires you to install Ruby unless you're running Windows.

See also