For years, I was in love with Mail.app. I even praised its glory in a previous entry about Mail and Mailsmith. Today, I can now officially announce our (putative) break-up. It is a break-up full of hope but also of anxiety. Here is why.
For months now, I had been promising myself I would clean my Mail folder, which was dangerously filled with a little over 5,000 messages. Of course, since I systematically delete attachments (they get stored somewhere else), remove useless emails (WHOIS data confirmation anyone?) and almost never receive an HTML email, I had feelings my mailboxes should be pretty manageable.
Truth is, I was wrong. Today, Mail went postal (hmm, do I chalk up that one as a bad pun or coincidental wording?) on me. Deleting a message would make it reappear. Moving anything would duplicate it. Corruption crept everywhere, in subtle ways. Nothing was really reproducible but nothing was totally random either. In other words, hell.
Now, I run frequent backups of my messages and I dump them to an SQL database, meaning today’s events didn’t affect my workflow in the least. I can’t however bring myself to reset and repeat, as I have already done twice.
Now, don’t get me wrong, I believe the people working on Mail do a great work. The ground interface is outstanding (even though we may disagree on toolbar icons and flag notifications), the application is filled with nice touches and its junk filter is second to none. Yet, unless it is reliable, it is of no use to me.
Let’s take an example. In your ~/Library/Mail folder, you will see an Envelope Index file. What’s it? An SQLite database to speed up searches. It also maintains its little journal (but not on all my machines, for some reason). Then, you have the actual Mailbox structure, using one file per message — but not quite, since some are “partial”, other messages seem spread over multiple files. Searches rely on both that small database and the large Spotlight framework which, of course, is not without its share of outstanding bugs. But wait, your message are also processed by plist files for rules, ordering settings, open attachments… Throw in the fact migration from older versions does not really remove old files (or label them properly), add the fact Mail has trouble dealing with multiple accounts consistently (there are two sub-inboxes but one main trash and two sub-trashes, no matter how you go about creating the accounts) and maintains yet another database (and corresponding backup!) for its junk filter. This, needless to say, wouldn’t be complete without the transplanted Mail folders in the Caches folder, the signatures stored as web archives and the ability to dynamically load “bundles” at startup. Oh, and did I mention WebKit dependencies?
Now, many things here are good. SQLite? Neat. Individual files for each message? Outstanding. Labeled folder structure? Required. But why the endless backups, inconsistent updates and deletions, gazillion caches, surprise plist files and empty (but required!) folders? Why, oh, why?
In fact, a smart mailbox is, in itself a work of art. These aren’t mailboxes, they are plist files in disguise (which, indeed, is very logical). Now, have a look at these files: see how many GUIDs, trees and options they contain? Imagine how many queries Mail must run and how many lines have to be parsed if you maintain five or so smart mailboxes that poll a sizable mail folder?
To me, Mail’s facade is the best of all Mac OS X applications out there. The way it thinks about mails, the way organizes them. But looking into its Mail folder just shows how it has evolved and, more importantly, how dramatically it did, with no signs of slowing down. Too much in too little time, really. For example, should a crucial application like an email client rely on the first version of system-wide frameworks (I’m thinking Spotlight here)? Should an application take it upon itself to create an SSL-capable account automatically upon first startup without turning SSL on and without giving the user a chance to stop sending the password in the clear (.Mac indeed)?
Of course, the easy way out is to say Mail was intended for “personal” use. But even my subscription to the “French Cooking for Simpletons” mailing list deserves to be treated well. After all, our “personal” lives matter as much as our “professional” ones. A “personal life” is made of banking statements, tax returns, doctor appointments, school meetings and hot dates. And would “TLM v2 Authentication” be built into an application that is intended “for personal use”?
Again, I have no intention to be hard on the Mail development team. These people have managed many an incredible thing and pushed the envelope for mail clients — which, considering Mail.app is “free” (notice the quotes) is outstanding on their part.The results however, are not there, maybe because of time, staff or budgetary constraints. We shall probably never know.
Mail on the Mac is an interesting affair indeed…
Just a note: this is an “Opinion” piece within the MacDevCenter blog, not an article.
Thanks for reading! — FJ


Have you tried logging out and then logging back? Or re-starting? I had a similar problem as you did once but it was solved by re-starting. Turns out the problem wasn't Mail but my internet provider.
Hope you get your messages back!
Anonymous,
Thanks for the tip! Yes, I did try that and, unfortunately, this time it wasn't my ISP. I do agree however server-based glitches do occur and there is nothing like a good restart to clear them up! :-)
FJ
With what do you intend to replace Mail? *That's* the hard question...
Peter,
That, indeed, is the hard question. There are plenty of options but none so far really satisfies me for one reason or another. Mailsmith is my other love so I tend to use it a lot but some of my providers now require IMAP support... :-/
FJ
Try PowerMail. http://www.ctmdev.com/ I've never understood why some like Apple Mail in the first place.
Eudora. Rock solid Eudora. I've been using it for forever.
I'm with Erica that Eudora is a good choice. I've been using it for years and years. It's an ugly looking program and not always intuitive, but it's chocked full of useful features and has never failed me. My only concern at this point is how much longer the program will be supported. The Eudora Mac forums have been sadly quiet for over a year now in regards to the next major update of the program. The rumors I've heard is they are looking to sell Eudora or stop development, if a buyer can't be found.
I also complained about the reliability of Mail.app when I lost thousands of messages the other day, but so far have been unable to get Thunderbird to import my Mail.app mailboxes. I feel trapped! Any ideas? (I am still using Panther)
I'm with Erica on this one. You can't go wrong with Eudora.
thunderbird. hands down. real threading and with the gmailui extension it takes on some of the best features of gmail as well. add in gpg intergration and it rocks. just waiting for the offical ub release (although and intel build of 1.5 is available). if you want to go cli-style, mutt is really the king of all mail clients. unbelievably flexible.
I've had similar duplicating messages, not deleting, etc. Plus Mail seems to be really slow for my big IMAP boxes. If there was a compelling alternative I would drop Mail.app in a heartbeat.
if you want to go cli-style, mutt is really the king of all mail clients
How's Mutt's IMAP support nowadays?
I have over 15,000 messages in about eight inboxes and lots more in other folders. When do you think I'll reach the limit?
Jose Manuel check out http://www.twistermc.com/blog/2005/07/20/import-apple-mail-to-thunderbird Mail.app (10.3 -> Thunderbird)
Maybe Mail would work better on a Macintosh G6 Clone?
http://www.alibaba.com/catalog/10895402/PowerPC_G6_Macintosh.html
Haha. You stepped out of the pan and into the fire.
Mail.app is the best core mail application available on OS X. It does its job pretty damn well. All of the alternatives (believe me, I have looked at them) have at least as many issues, if not more, than mail.app.
Good luck Francois - you will need it.
Eudora is the way to go. It's really the most reliable mail client available. As people have noted, it really needs updating, and hopefully the Cocoa version will be (re-?) announced soon.
Filip,
Thanks for the tip, I'll check it out!
FJ
Erica,
Thank you for your recommendation! Eudora is indeed at the top of my list of applications to check.
FJ
Alex,
I'm sorry to hear it. I shall investigate as I would not want to invest learning time in an application that has reached old age. On the other hand, it seems demand for it is pretty strong - and the software looks most interesting.
FJ
Jose,
I am sorry to hear about your losing messages. Have you tried clearing Mail's caches and indexes? It, most of the time, helps recover a corrupted database.
I would assume the easiest way to transfer your mail would be through an IMAP server (provided your provider allows for it). Should it not be an option, I would recommend looking up a tutorial on the Mozilla websites as it should provided you with all the details you need. That particular migration is unfortunately not one I had to undergo myself. I am therefore afraid I would not be able to answer your question as precisely as I want to.
FJ
Shawn,
Thank you for taking the time to post and share your experiences. I have indeed investigated Thunderbird and have to say it is an excellent application. Unfortunately, its lack of integration with other Mac OS X components (that are very understandable given it is cross-platform) such as Address Book and, hence, iSync, make the migration more difficult. I have investigated Thunderbird in the past however and will do so again without fail!
FJ
Dustin,
Thank you for taking the time to comment and share your experiences with us!
FJ
J. Ong,
That is hard to say! I know of people who have successfully managed mailboxes a lot larger than mine without any problem while others experienced issues earlier on. I would say that, as long as your installation is properly maintained, that you are careful about trimming attachments and carefully review HTML messages, you still greatly increase your chances to enjoy a stable archive. You will want however to make frequent backups and re-index mailboxes from time to time.
FJ
Alex,
LOL! Who knows? ;-)
FJ
Bruce,
Thanks for your wishes. I am afraid I will, indeed, need luck. I am very aware of the various limitations of email clients and do not believe there is one "perfect" application. Isn't it, after all, what makes it all fun?
FJ
Odysseus,
Let's hope! I'm eager to see how it turns out!
FJ
I couldn't agree more FJ.
Mail.app started failing randomly and erratically, losing messages and creating duplicates. I was unable to complete a bug report because I could not clearly describe the steps to recreate the problems. Mail.app seems fine with small mailboxes, but I have many thousands of emails in many different folders.
I would suggest becoming mail client agnostic. Run an IMAP server (I use dovecot) either locally or on a server somewhere. Move all email to the IMAP server, and then use whatever email client you want. I am currently using Thunderbird. It is clunky, and doesn't integrate properly, but I haven't lost email yet. I could switch back to Mail.app without any effort. I can even use mutt when I am accessing the internet from a slow connection.
Even mail/spam filtering can be performed in a client-agnostic manner. I actually use a combination of fetchmail/exim/spamassassin to fetch, sort and clean my email on the server. Therefore, in whichever email client I use, email is arranged in a consistent and useful fashion. I don't rely on client's own proprietary methods of filtering and spam detection.
However, I am still waiting for a perfect email client...
Mark,
Thank you for taking the time to comment and for your suggestions. They are indeed most interesting.
FJ
Thanks for the tip, but my problem is compounded by the fact that I have more than 100 Mailboxes and I would need an automated way to do this. Mail.app lost thousands of messages in the Sent Mailbox, and even now refuses to convert the remaining messages to Tiger Mail (loses even more). Apple Mail has serious issues with the Sent Mailbox. Finally, I can't get Thunderbird to show other accounts other than the Local Folders, and when I drop the mbox files from Mail.app (manually) I see a spinning wheel, but it shows NO messages in any of the mailboxes. I'll keep diggin' into this.
I've lost at least a few messages using Apple Mail but won't blame it directly because it may have been caused by interaction with the plugins I have installed. I doubt it's my local IMAP server (still running uw-imap until the official dovecot 1.0 release) because I never lost a single message that I'm aware of while using Mulberry with the same IMAP server (upgraded several times over several years).
I've taken a more conservative approach with Mail since losing message by keeping the Activity window visible and not moving messages between mailboxes while Mail is busy with other activity. Unfortunately it slows me down at times but I haven't noticed any mail lossage since doing that. I often see console messages like:
2006-04-12 11:41:15.137 Mail[1329] Unhandled response to command SELECT: * NO Message 13 UID 17764 less than 17800
2006-04-12 11:41:15.363 Mail[1329] Unread count went negative for mailbox INBOX
Those are a side effect of bogus X-IMAPbase and X-UID headers being added though I haven't been able to isolate the cause; it happens somewhere between fetchmail retrieval and when the messages are written to different mailboxes via procmail filters. I'm suspecting it's during fetchmail's interaction with a remote dovecot server I transfer messages from to my local server since I noticed it until before that remote server switched from uw-imap to dovecot. And exactly how Mail handles those extra headers is a mystery, perhaps even causing message lossage though I haven't noticed any during my monitoring.
All that contributes to making mail handling more tedious than I'll tolerate in the long term although it's acceptable for right now.
When people encounter IMAP-related issues with Mail it may be due to interaction with different IMAP servers/mailboxes that introduce unknown variables. My wish is that more people would also mention which server software was in use (if known) when problems with Mail occur to see if that might eventually provide any useful correlation data.
Just for reference, I subscribe to a lot of dev mailing lists. I don't think you got past the limit on Mail.app. I'm lookin gat xcode mailing list: 13183 items, cocoa dev list: 116864 items, carbon dev 68708 items. darwin: 17942. No problems here. something else going on on your system.
I don't trim attachments, or do any other maintenance on my mail at all.
I also use Eudora, which is long in the tooth but still works great (12+ years worth of email in it - use it like a database almost and I have other friends who also do).
Tyler,
Thanks for taking the time to share your experience. There is indeed no fixed or absolute limit for Mail to reach and experiences will vary greatly depending on the system on which the application runs. I gather users who started using Mail with Tiger (or at least clean-upgraded) enjoy a much smoother installation, which seems to concur with what my tests show.
FJ
I'm wondering if there is any updates to this story... what better emai have you found?
Anonymous,
No updates so far, I'm afraid! Still looking... :-)
FJ
macOSXhints recent pole on user's email client of choice:
http://www.macosxhints.com/polls/index.php?qid=email06&aid=-1
Interesting comments.. :D