Since the end of November, I’ve been using the Mozilla Thunderbird client for my personal e-mail. It’s quite good (and in many ways better than Microsoft’s Outlook Express, which is no longer being developed), but it lacks many features that I used daily in the full Microsoft Outlook client (and quite frankly, Outlook was doing a better job of filtering out spam). The biggest drawbacks for me were a lack of calendar functionality, no longer being able to send SMS messages from within my e-mail client and that the address book only has space for two e-mail addresses per contact.
Anyway, sometime this afternoon, my laptop is due to be collected for repairs, so I needed to get my e-mail data out of Thunderbird and into a format that I could use on my work PC for a week or so (i.e. Microsoft Outlook personal folder – a .PST file).
Finding the Thunderbird data was easy enough – the Thunderbird FAQ pointed me to %appdata%\Thunderbird\Profiles\randomstring.default\; however, Thunderbird uses the standard Unix .MBOX format whilst Outlook Express uses proprietary .DBX files (but understands .EML, which are plain text files) and Outlook stores messages in binary proprietary .PST files.
Outlook can import data from Outlook Express, and Outlook Express claims to be able to read Eudora data (which is also in MBOX format); however I couldn’t get Outlook Express to read my Thunderbird files, instead displaying the following message:
No messages can be found in this folder or another application is running that has the required files open. Please select another folder or try closing applications that may have files open.
A Google search turned up some anecdotal evidence of successful conversions using Eudora as an intermediary, but this was based on Eudora v5 (v7 is the current version available for download). After digging further, I found two articles which used third party utilities to convert the .MBOX data to .EML – one from Robert Peloschek (aka. Unic0der), and the other from Broobles. The principles are the same:
- Compact folders in Thunderbird (optional, but prevents conversion of deleted messages).
- Back up Thunderbird mail data (a simple file copy is fine).
- For each Thunderbird file without an extension (e.g. Inbox – but not Inbox.mfs), convert this to a series of .EML formatted files, for example using the Broobles IMAPSize utility (this is what I used) or Ulrich Krebs’ Mbox2eml (which relies on a Java runtime environment being present).
- Drag and drop the resulting files from the file system to Outlook Express.
- Import Outlook Express data to Outlook.
It worked for me, with one caveat – messages I had sent, but that were filed in locations other than in my Sent folder, all have the date stamp set to yesterday. I’ll live with that (after 2 hours of converting the data in each individual folder to a series of .EML files and the dragging and dropping them to the appropriate locations in a new folder structure, I’m just glad to have my data back where I want it) but I did read that this can be controlled by changing the sort order from received to sent before the file conversion and import.
So, that’s my Thunderbird experiment over. I’ll probably try out the e-mail and calendar client on my Solaris box soon (so will be back to .MBOX format I guess) but for a long while now I’ve been meaning to set up a mail server at home so that I can keep the mail there and use IMAP to access it online from whichever client I choose.