Thunderbird vs. Mail.app

I’ve been a Mail.app user for a long time. Every time that I’ve tried switching to Mozilla Mail or Thunderbird over the past few (4?) years, I’ve ended up back on Mail.app. Mail has never been the fastest or most featureful application, but its IMAP, while sometime slow, has been rock steady, and certain things like the auto-saving/window reopening and the Address Book integration are really quite nice. I recently figured out how to view Exchange invites of course, MailActOn has made organizing my mail entirely in the realm of possibility.

What’s the point of all this? Basically to describe that Mail.app was working for me… until my corporate mail was switched around that is. My new setup requires me to tunnel an IMAPS connection. It turns out that Mail.app has a bug where it’ll try to connect to the server with the default port 993 regardless of what you specify the server port is (and it’ll fail silently without telling you that’s what the problem is – thanks Apple!). Since opening tunnels as root wasn’t high on my yes-I’d-like-to-do-this-every-day list, I decided to once again check out the latest build of Thunderbird.

And, with a mess of extensions and some tweaks, I’m settling in. Thunderbird is much faster than Mail.app (1.5.0.4+ is Universal) and has support for IMAP subscriptions and IDLE which is nice. (I also figured out the weird Inbox nesting issues I’ve had in the past: you need to set the IMAP server directory as “INBOX/” in the IMAP server advanced settings). Here are the major changes I’ve made so far to make things work better:

  • Advanced Remove Duplicates saved me hours helping to remove the 20K dups generated while my getmail was freaking out
  • In the account settings, turning on the “Offline” settings for folders to emulate Mail.app’s sweet offline IMAP message caching behavior
  • Headers Toggle gives me back full header toggling w/ the ‘H’ key
  • GMailUI – this extension is AWESOME, enabling a whole bunch of useful key bindings, better search, and best of all, one key archiving
  • Nostalgy – another priceless extension, this allows easy keyboard navigation and mail moving. Hooray!
  • keyconfig – now this is the motherload – if I had found this last time, I probably wouldn’t have switched back. keyconfig lets you write arbitrary JavaScript and bind them to keys – right now, I’ve only gotten around to writing some quick binds to switch between text/html message views, but with enough rooting around through chrome/extension JARs and XPIs, I think I can solve most of my remaining niggles
  • Remember Mismatched Domains – this is useful if you’re tunneling since the cert won’t match

I’m also running a couple of plugins that aren’t publicly available for parsing dates out of Outlook VCALENDARs, but once there’s a Universal Binary Lightning build, that shouldn’t be a problem. Also, I’m fervently waiting for Address Book integration.

It’s been a long road for Thunderbird, but I think that like Firefox, the extension architecture will be what will give it the edge in the long run (as it’s been bearing out).

While I have some tweaks I want to make, I’m confident that I’ll be able to easily make them with keyconfig (almost a GreaseMonkey equivalent – now if there were something that could bind arbitrary onloads…). On my list: better pane/folder navigation, a message rewrapping/dynamic replacement script, and custom JS expression-based filtering.

We’ll have to see what happens over the next few weeks (and I’m sure I’ll be looking at Mail.app again in Leopard), but I have a feeling that Thunderbird may end up sticking around this time.