Gmail with IMAP — First Impressions

Finally, over a week and a half after the initial announcement, IMAP was finally enabled on all my Gmail accounts. Until now I used POP to access my emails from gmail, and had to use the ‘recent:’ option to be able to access my emails from multiple locations. With IMAP, thankfully, that will change soon.

A quick intro to IMAP. As described by Tom Spring from PC World:

IMAP is geek speak for Internet Message Access Protocol. ….
… with IMAP any changes (sorting, deleting, reading, or otherwise) are reflected across all Gmail interfaces – be it using Outlook Express, your iPhone, or Web-based Gmail. For example if you create a folder and sort messages into it using your desktop Outlook Express client those changes show up on Web-based Gmail.

IMAP is a boon for people like me, who check their emails from multiple locations. So I decided to give IMAP support on Gmail a spin, and here’s what I came up with:

For starts Gmail has done a remarkable job of supporting IMAP. I can understand the technical difficulty in being able to support IMAP on Gmail. Think about it: Gmail moved away from conventional folder based email organization to offer what is essentially a tag-based (label-based) organization of email (although their tagging interface is too cumbersome in my opinion). Given that IMAP is a folder-based email access protocol, reconciling the two is not an easy task. But Google has done a good job of it this time around.

For starts, after you enable IMAP, and configure your mail client there are changes that you will notice in the web-based Gmail interface.

  • All the folders that you create using your email client will now appear as labels in your web interface.
  • Certain labels like Trash, or Chats are reserved by gmail. If you try to create a folder by that name, then the folder will appear as ‘[imap]/foldername’
  • If you have any label of form ‘text1/text2′, they will now appear as folder ‘text2′ being a subfolder of folder ‘text1′. So If you have any labels of the form ‘family/friend’, or ‘work/spam’, consider renaming them without a ‘/’ before enabling IMAP.

So how did tag-based Gmail reconcile with folder-based IMAP?

  • Each label appears as a separate folder in IMAP.
  • To apply multiple labels, just copy the email to multiple folders.
  • Moving an email from one folder to another will change the label on the email from the first label to the other.
  • If you move an email to a sub-folder ‘sub’ within a main folder ‘main’, on the web interface, it will show up as being labeled ‘main/sub’.
  • If you configure you mail client to sent email using gmail’s smtp server, then every copy of the email is stoed in the ‘[Gmail]/Sent Mail’ folder.

Here are the set of IMAP actions and their corresponding web based Gmail actions.

Spam, however, is handled differently. To mark a message as spam, just move it to the ‘[gmail]/spam’ folder in the IMAP interface. Simply marking the email as ‘spam’ on your mail client (like Thunderbird) will trigger the email client’s spam filters, but not Gmail’s.

Drawbacks

  • One The only major drawback is that the IMAP’s default trash folder is different from Gmail’s Trash folder. There’s no easy way to fix it. The only fix that I found to work for Thunderbird is here on Tech Samurai. It not the most straight forward config change to make Thunderbird to GMail’s Trash folder.
  • The bigger issue with the simulation of folder-based structure on top of tag-based structure is the following:
    If an email has multiple tags (labels) associated with it, then the email shows up in multiple folders on the IMAP client. ‘Deleting’ such an email involves deleting (or moving to [Gmail]/Trash) all the virtual copies of the email from all the folders where they reside. This can be a arduous task, especially if do not know all the labels that were applied to the message to begin with (and you dont, if you are using the IMAP interface exclusively.

Overall, a really clean and neat implementation on Google’s part. Good job Google!

Comments are disabled for this post