Ever since I started using Unix systems in the late 80s I’ve used mbox-based email clients: I started out with mail and mailx on an HP9000, then discovered elm at University; after a brief foray with Netscape Communicator I settled on Eudora which stayed with me for many years. It got to the stage late last year where I was regularly checking 14 POP3 boxes, with another 12 being irregularly checked when I had a spare few hours to deal with things like maillists, bounces, and administrivia. Add to that the whinge that actually I sometimes don’t want to be checking mailboxes all the time (such as when I’m on client sites) coupled with a requirement to have mail clients on several machines, and it became blatantly clear that I needed an alternative solution.

So, I spent a few hours over December looking at other solutions, and eventually settled on dumping all my mailboxes in favour of a separate IMAP server with exim, and a client which would be cross-platform: Mulberry.

Setting up the IMAP box has been relatively easy, save for the learning curve involved in moving from Slackware Linux to Debian Etch (my reasons for that will be posted at a later date once I’m more comfortable and can post the pros and cons of such a move). The hardest bit has been converting over 16 years of stored email in Eudora to a format which can be understood by an IMAP server (courier-imap in this case).

For those of you who don’t know Eudora, it stores email in a sort-of bastardised mbox format, with any extended indexing and status data in a TOC file which although closed-format has been reverse engineered to a certain degree. I spent a night or two trying to parse this and finding bits and bobs on the Internet (including some Python scripts which do stuff with old versions up to Windows v5) before Lisa pointed me at Eudora Mailbox Cleaner which, although a classic Mac app I could run with Rosetta, wouldn’t do what I wanted it to with my Windows installation. However, linked from there is Eudora Rescue which happily parsed my entire Eudora mail directory and spat it out elsewhere in a format which I could do something with. Hurrah! So far so good.

So, the next step was to port the lot into a Maildir format, and David had already pointed me at mb2md which not only converts mbox to Maildir, it also preserves all the nice Status headers which Eudora Rescue has added. All that needed to be done was to remove “.mbx” and “.toc” file extensions before running it through mb2md.

It all went without a hitch. Perfect.

Now the biggest pain in the bum is converting all my filters to exim’s filter format for server-side filtering, but I’m pleased to say that it’s going reasonably well and works fine on Mac, Windows and Linux – and it’s another stage passed in the port away from Windows for day-to-day stuff.