Wednesday, September 24, 2008

Email Grail

Warning: Lengthy rant ahead.

Email, my friends. Sounds so simple--a program that will reliably send and receive email, and has just a few reasonable bells and whistles to help me through my day.

Yesterday I went through a dozen and a half email clients for Mac OS X, and found not one that met all my needs.

I used to use Eudora, and I was happy. But Eudora has become decrepit: it is unsupported, and unreliable on Mac OS X Leopard. (It even lost some mail once. I used Eudora for over a decade and never lost a byte, but under Leopard it can lose mail. Unacceptable!)

So a while back I switched to Apple Mail, and groused about it because I lost some of Eudora's niftier features. But it mostly does what I want, and has its own virtues including really excellent search capabilities, tied into Spotlight. But...

Apple Mail has some bizarre problem in talking to my ISP's SMTP server. It takes forever to send outgoing mail, and most of the time it fails. Other folks on the Web have reported similar troubles, but none of their suggestions have helped. In despair I have had to go hunting for yet another email client.

I found 17 candidates, and every one of them is lacking in some fashion. My requirements are fairly simple—or so I thought:

  • Keep messages in individual files (this is a standard, RFC 822)
  • Handle large amounts of mail and multiple accounts gracefully
  • Good search capability
  • Good filtering capability
  • Supported product

There are three reasons I wanted one-file-per-message. First and foremost, I do not trust proprietary database formats. If the database gets damaged, I've lost everything. If the product stops working, I've lost everything. Yes, most of them have an export-to-standard-format ability, but I have to know that I'm about to lose everything before it actually happens, or else the capability is useless. Database storage is a deal-breaker for me.

Second, on rare occasions I need to actually edit received mail. (Usually this is because some misguided customer has sent me their credit card number, which is information I don't want and shouldn't have. I edit it out of the email immediately when that happens.) Mail should be stored in an editable format, even if the mail client itself doesn't overtly support such editing.

Third, monolithic mailbox files have to be backed up every time a message is added or deleted. This is inefficient and wastes space on my backup media.

During my research, I discovered several more requirements, stuff I'd been taking for granted:

  • Rich text (aka HTML mail) - Maybe the world would be better without it, but my customers use it. A lot.
  • Folder/subfolder organization for saved mail - Other paradigms exist, but I have tens of thousands of messages organized in folders, and I'm not about to reorganize them now.
  • Import from Apple Mail - Right. Duh. Almost forgot about that detail.
  • Decent spam filtering - I get about a thousand spams a day.

So how did all the candidates stack up? Here they are, each with their primary deal-breaker:

  • Balzac - Can't organize in folders.
  • Correo - Somebody's hobby. Too new, too feature-poor, too little support.
  • Entourage - Database. (Also, Microsoft. Feh!)
  • Eudora - Unsupported, crashy.
  • GNUMail - Unsupported since early 2007; home Web site is offline. OS X info sketchy.
  • GyazMail - No outgoing HTML mail. (Man, that was disappointing. This one looked good otherwise.)
  • Magellan Pro - Unsupported since 2004.
  • Mailsmith - Database, and no HTML mail.
  • Mulberry - Poor spam filtering, poor import capabilities.
  • Musashi - Old. Documentation is thin and in poor English.
  • Nisus Email - Irritating UI: no built-in text editor, omnipresent floating window even in other apps.
  • Odysseus - Supposed to be a Eudora clone, but it's still in beta.
  • Opera Mail - Integrated with Web browser, feh.
  • PowerMail - Database.
  • SeaMonkey - Integrated with Web browser, feh.
  • Thunderbird - Ah, Thunderbird...

I finally decided it would have to be Thunderbird. It's open source, vigorously supported, mature, and feature-rich. It keeps mail in mbox format like Eudora: not ideal for backups, but at least it's standard, editable, and recoverable. Its ability to import from Apple Mail was poor and clumsy, but the Web site explained how to do it and it works. (As of this writing, I've imported less than half my mail. It's a multi-step operation for each mail folder.)

Just when I was starting to relax, I hit a near-deal-breaker: Thunderbird has no ability to redirect mail! Redirecting is sending a piece of received mail on to another address, without altering the message body. Thunderbird only has forwarding, which does alter the message body. Redirection is crucial to our home business, where I receive customer purchase notifications and have them auto-redirected to Helen, who imports them into our customer database. Her importer relies on the format of the messages, which is why we need redirection and not just forwarding.

I was stunned. Every mail client I've ever used has had redirection. It never occurred to me that a mature, feature-rich product like Thunderbird would lack it!

Well, Thunderbird is extensible, and there are hundreds of extensions. After some searching, I found two that add a redirection capability. But one doesn't work well with recent Thunderbird releases, and neither allows redirection as a filtering action. It took me probably an hour to get all that figured out.

Finally I had to get Helen's attention (she wasn't pleased, she was busy with aggro of her own) and have her investigate her parser to see whether it could handle a forwarded purchase notification. And we dodged the bullet: her parser handles a Thunderbird-forwarded message just fine. Whew!

I think Thunderbird will work out. If I get really upset about some lack or other, I might be able to write an extension of my own to fix the problem. Hope I won't have to, though. Email ought to just work.


Nunya Bidness said...

"Penelope is an open source extension to the Mozilla Thunderbird mail application.

Qualcomm's intention with the Penelope project is to join the Eudora® user experience with the Mozilla platform."


Rick Holzgrafe said...

Yeah, but the Eudora user experience isn't that great. It's the Eudora feature set I want (except for the mbox storage format), and that includes things like Applescript-ability. Penelope isn't providing that, at least not yet.

Thunderbird is pretty close to Eudora's UI, and it's a mature product. I didn't see the point of trying something new and unfinished that wouldn't offer me anything all that different anyway.