Giving up on Gmail IMAP and Apple Mail

With my imminent move of house I plan to switch from Internet provider as well as I have hinted at in my blog post New vs. Existing Customers. The downside to such a switch is that I’ll be losing my long held email address in the process. Fortunately Google seems to have a solution to that problem. With Google Apps and their hosted solution for email I can use my own domain name to create an email address that will always be mine and for the time being will be hosted by Google. Should Google ever fall out of grace with me I can always move that email address to another hosted solution or run my own email server again. Google can even fetch the email from my old address while it’s still active. Perfect.

Two years ago when I was still running my own email server, I used an IMAP server for storing my email. This was extremely convenient as I was able to access my email from everywhere. However I grew tired of managing my server and more importantly the noise it made so I threw it out. Ever since I have been using POP3, limiting my email access to my iMac G5. As it is Google Apps (Gmail) supports IMAP. Hence I figured I could get the best of both worlds: a hosted solution and access to my email from everywhere.

Unfortunately things didn’t work out. My primary email client is Apple Mail. It functions relatively well. My prime reason for using it, however, is Spotlight. Spotlight allows me to find everything very, very fast. I can’t imagine working without it anymore. So unless there’s a better email client that has support for Spotlight, Apple Mail it is.

I enabled IMAP in Gmail. Configured Apple Mail to use it and started dragging my email from my old mailboxes of my POP3 account into Gmail’s IMAP mailboxes. Big mistake! After a few hundred emails, sometimes a few thousand, Apple Mail crashes! Repeatedly. I never managed to completely migrate all my email to Gmail using Apple Mail.

Next I tried archiving my mailboxes, importing them into Mozilla Thunderbird and repeat the drag and drop process. Bang! Same thing. Thunderbird crashes. What is it with these email clients? Throw a couple of thousand of email messages at them and they crash. A sad state of affairs making me long to the time I was using Mutt exclusively; the most reliable email client I have ever used.

However the idea of being able to access my email from everywhere using Gmail IMAP was too tempting to give up on. Hence I tried a third possible solution: install my own IMAP server (Dovecot) and migrate all my email from that IMAP server to Gmail’s using imapsync. The nice thing about imapsync is that you can run it repeatedly and it will only transfer the emails that have not been transferred yet. This is how I ran it:

while true
do
imapsync --host1 localhost --user1 <user1> --passfile1 ~/Temp/passfile1.txt \
--authmech1 PLAIN --host2 imap.gmail.com --user2  <user2> --passfile2 \
~/Temp/passfile2.txt --authmech2 LOGIN --ssl2 --fast --delete \
| tee ~/Temp/imapsync_run_`date "+%Y%m%d-%H%M"`.txt
done

This actually worked in transferring all my email to Gmail. Problem solved, right? Not quite.

As many people have already blogged about, Gmail’s IMAP support is non standard in that it treats Gmail labels as mailboxes on IMAP clients. This has the unfortunate side effect of duplicating lots of messages as Gmail’s “All Mail” mailbox always contains all the emails in your Gmail account. Assign a label to a particular email and that email will not only appear in the “All Mail” mailbox, but also in the mailbox specified by the label.

Supposedly Gmail supports unsubscribing from mailboxes. Though that doesn’t work with Apple Mail. Workarounds such as replacing the “[Gmail]/All Mail” mailbox on the file system with a link to /dev/null doesn’t work either. It crashes Apple Mail each time I perform a Spotlight search. Leaving things as they are and put up with the duplicates is not an option either as it makes things really slow. Apple Mail clogs up my bandwidth by constantly trying to sync with Gmail and the wasted hard drive space only means I have to backup even more data.

So after all these efforts I am giving up on Gmail IMAP and Apple Mail. I’ll keep on using Gmail with my own email address, but will be using POP3 to access it. Yes I’ll be missing out on the excellent search facilities offered by Gmail’s web interface. Though I still got Apple Mail’s Spotlight searches that are just as convenient. And yes I won’t be able to access my email from everywhere. Though I wasn’t able to do that for the past two years anyway.

I really wish Apple started focussing on making things more reliable. Apple Mail is not a brand new application; it has been in development for many years. Instead of adding new features such as email stationary, taking notes, RSS feeds, etc, they should focus on the core functionality of the application and make that work. Apple’s announcement of Snow Leopard is encouraging in that regard. I have seen plenty of features in Leopard that I don’t have a need for. I do, however, have a need for the things that I do use to work reliably and consistently. Printing is another example.

Comments