Outlook to Thunderbird Migration

I’ve been trying to break the strangle hold of Outlook PST files for years without much success. The problem has always come down to having thousands of archived messages dating back to 1997 in two large PST file archives (personal & work). I could have manually exported the emails into separate text files but that is a huge task and I’d be left with archives that aren’t easy to search. What I wanted was a way to extract all the emails into an open format that retained the folder structure and would be easily importable to a different email client. After much research and study I decided that the best format to use would be mbox primarily because it stores the mail as plain text. Although it comes in a few different varieties used by specific clients they are all well documented and conversion between the versions is not difficult.

Trying to read PST files is very difficult because Microsoft does not publish information on the format. Originally they did this with all the file formats used in their Office products but, do to consumer pressure and people cracking their formats, they eventually gave up and opened up many of them. The solution for PSTs is to use the open source libpst library on a *nix compatible OS. I installed libpst on my Ubuntu PC, copied the PST files to a subdirectory of my home directory and created separate lower subdirectories to receive the mbox files/directory structures. Now all I had to do was open a terminal, session change to the directory with the PST files and issue the following command once for each PST file (readpst -u -o output-directory pstfilename). The output from the readpst program made me a bit concerned that some items had not been extracted, here’s an except of the output:

“Misc” – 2916 items done, 1 items skipped.
“Vendors” – 354 items done, 7 items skipped.
“Product Development” – 254 items done, 1 items skipped.

To see why some items were skipped I opened the PST file in Outlook and was pleasantly surprised to find that the item counts in Outlook matched the items done counts exactly. Thinking about this I came to the conclusion that the skipped items were simply blank or corrupted areas within the PST database that were left after deleting emails and compacting the PST. With everything extracted from the PSTs the next step was to choose a new mail client and import the old data.

I’ve been using Firefox and it’s predecessors for a decade so it was no surprise that my favorite of the clients I tried was Thunderbird. One of the most important features is one I use extensively with Firefox, multiple profiles. Here are some links to information about profiles, Profiles How to Thunderbird, Using Multiple Profiles How to Thunderbird, Run multiple copies of Thunderbird at the same time, Starting your Mozilla application with a specified profile. In Outlook I’ve always had to use one PST file and set of defaults for my work and personal email. I was able to have separate archive PSTs but I never found a useable way to have separate PST inbox and other folders to keep my personal and work email isolated. Another situation that is somewhat unique is that I work form home three days a week, so I need to have my work as well as my personal email available on my main workstation. This has led to occasionally getting work and personal emails filed in the wrong folders, which flows through to the archives, and occasionally using the wrong account for sending an email. Having separate profiles for my work and personal email eliminates the possibility of getting the emails or origination address wrong. I ended up using four profiles, work, work archives, personal and personal archives, I like to keep the archives separate from my current mail to not bog down the client when searching since it isn’t very often I need to find emails from last century. I figured I’d need to use the export/import functions for moving old emails to the archive but I tried and sure enough if I have both profiles open I can simply drag and drop old email to the archive profile. Note, even though as of this writing drag & drop works well, I do not believe this is a supported feature of Thunderbird so it could be removed in future versions and you can’t expect support.

With my new client chosen and the data extracted from the PSTs I was ready to import everything. While Thunderbird has very good import capabilities I found two extensions that gave me more powerful import capabilities, the ImportExportTools Add-on (ImportExportTools Homepage) and the MoreFunctionsForAddressBook Add-on (Allows import of multi-card vcd files). After importing my contacts I realized what a mess those had become over the years (these were not import errors, the data within Outlook was this way). The main problems were garbage characters in unused fields, addresses and phone numbers in the wrong place (work vs. home), inconsistent address, display name and phone formats. To rapidly fix these errors I exported the address books to csv files, imported them into LibreOffice Calc, made the corrections and then re-imported into Thunderbird. One detail to pay attention to if you do this, make sure you set the zip code fields to text when importing into Calc to avoid losing leading zeros.

A feature of Outlook that is not the default for Thunderbird is to have a single inbox for multiple email accounts. Thunderbird is like Outlook Express/Windows Mail and shows separate inboxes for each account. However there is a Global Inbox feature in Thunderbird that gives you the unified inbox like Outlook. The next feature from Outlook that is not in a default Thunderbird installation is the ability to use different automatic signatures for a single email account. This is a feature I use almost every work day to give me three different sig lines depending on the recipient. A formal one for customers/vendors I don’t know personally, a less formal sig for the customers/vendors I do know personally and the third is for co-workers (simply Paul). Of course as I would expect there’s an extension that gives this exact capability, the Signature Switch Add-on (home page). The next issue I needed to figure out was how to change the SMTP server depending on which office I’m sending mail from. While it’s possible to do this manually once again I found an extension that handles this task completely automatically, the SMTP Control Add-on (SMTP Control Overview). With everything running smoothly I started playing with more feature and hit a problem with the junk mail filter system, a little searching found the solution in a forum thread, Junk mail selections won’t stay checked (scroll down to the January 22nd, 2012, 2:39 am post from ss2115).

The last Outlook feature that I needed was to have an integrated calendar, for that the Lightning Add-on works great. I was able to import the extracted PST calendars easily but as I was scrolling through the future events I noticed that the time for recurring events was off by one hour after the DST/EST change date. Once again the answer was just a Google search away from a forum thread, Thunderbird calendar plugin and daylight savings. Looking at the imported calendar items, at first I couldn’t see any time zone setting for events, then I found that the Options menu in the Event editing window has that field off by default. Sure enough with the time zone field turned on I saw that my imported events where UTC, I changed them to EST and the problem was solved. The final issue I worked on was how to keep separate calendars for work and personal items but still be able to see both in each profile to avoid scheduling conflicts. For my work calendar I exported the calendar as an ICS file in the work profile directory and deleted the calendar from Lightning. Then I opened the ICS file in both my work and personal profiles (do not import the ICS, use the “file – open – calendar file” command), it works very well, both profiles can view edit and add events, see Exporting and sharing a calendar for more info. With my personal calendar I chose to import those events into a Yahoo calendar and then add the cloud based calendar to both profiles, this also works great see Thunderbird and Yahoo How To for more details.

It’s been a week since I completed the transition to Thunderbird and I’m very pleased with the results. I have all the capabilities of Outlook that I need while adding excellent separation of work and personal items and open data formats to make sure I can use the data easily in the future. On top of this I can install Thunderbird on any PC I need to use and on a portable Flash drive without having to think about if I have enough licenses to stay legal.