IMAP, Thunderbird, and mail clients


For much of my career at Microsoft I’ve owned mail related features. I pretty much designed all the IMAP support in Entourage with Mike Fullerton and Steve Friesen and I’m pretty happy with how it works. IMAP itself is a complex protocol to implement properly (it’s been redone about 3 times now). Each server has its own little nuances, but generally, I love the concept because everything is stored on the server.  I can check my mail from multiple computers and use web mail w/o needing my own personal Exchange account.


However, there are some frustrating things about IMAP such as the delete model. With IMAP when you delete a message, it’s simply marked for deletion. It’s just a flag. In many clients the message remains, and the client must purge the mailbox to get rid of it (purging the mailbox removes all messages marked for deletion).



In Entourage, we offer a delete model (on by default) that behaves like a local mail client (or Exchange). Messages are copied to the deleted items folder, marked for deletion, and the mailbox is purged. However, this is a lot of work for a simple delete. There is no IMAP MOVE command, only COPY. To make matters worse, when you COPY a message on many IMAP servers, you don’t know what the message UID (Unique ID) is in that new folder. This makes it very difficult to support actions such as Undo, or any complex message tracking like we do in Entourage. A way around this is to search the destination mailbox for the message and get the UID. Luckily Exchange now returns the UID by supporting some newer IMAP extensions (UID Plus).


For me, the main features I want in an IMAP client are the following:




  • Support for IDLE (clients don’t need to poll for new mail, they are notified when a new message arrives)
  • Delete messages by copying the message to the deleted items folder, marking the message deleted, and purging the mailbox so that the deleted message goes away.
  • Store Sent mail & Drafts in the Server Sent Items & Drafts folder.
  • Use internet style attributions (Outlook places all replies on the top of the message, ever other mail client allows you to insert the reply either interspersed or at the bottom).
  • Support for Format-Flowed.

 


To understand what Internet style attributions are about, and why Format-Flowed is a nice feature take a look at this pic from a plain text message that I’ve replied to 3 times in Outlook (the same thing would happen in Entourage, OE and a few other products).



Below is a screen shot of Thunderbird and what Internet Style attributions look like, as well as Format Flowed support (where text is wrapped properly). As you grow and shrink the window, the quoted text is dynamically re-flowed as it would be in a web browser. This is much better than the 72 or so character line breaks that can get to be a mess and you end up with text like so:



IMAP Server


So, the mail features I want in an IMAP server are:



  • Server side rules (all mail is directed to folders on the server).
  • Server side spam filtering
  • Backups.
  • Web based interface

I’ve been looking for a decent Windows IMAP Client for the past few years with little success. Luckily I have a great IMAP Server provider, Fastmail. They provide all the features above, and run a decent IMAP server.  I’ve been using them for almost 2 years now.


IMAP Clients


Client wise here is a run down on what I’ve tried (yes, this is by no means scientific, unbiased etc; it’s just based on my experience as a user with these products):


Executive Summary: Thunderbird is an almost perfect IMAP client for Windows. If you use IMAP, this is the product for you.



  • Outlook : Needs improvment 


    1. Does not support the exchange like delete model I reference above
    2. Does not store sent mail on the IMAP server, but your Exchange server or local folder is you don’t have an exchange server
    3. Message must manually be purged for each folder
    4. No internet style attribution.
    5. No IDLE support (at least I don’t think so) Larry Osterman informed me that Outlook does support IDLE. Thanks Larry.
    6. Hard to find messages easily (and no server side IMAP search). Thankfully, MSN Search Toolbar and a number of products like X1, Lookout, etc fill this void very nicely. MSN Search being my favorite.
    7. One of the best Junk Mail Filters (same technology we use at Hotmail)

  • Windows Outlook Express : Needs improvement

    1. Fast as heck
    2. Purges message when you switch from folder to folder, which is better than outlook.
    3. No internet style attribution.
    4. No IDLE support (at least I don’t think so) Larry Osterman informed me that OE does support IDLE. Thanks Larry.
    5. Poor Offline support.
    6. Hard to find messages easily (and no server side IMAP search). Thankfully, MSN Search Toolbar supports this.

  • Windows Eudora : Not acceptable 

    1. Slow as molasses
    2. Frequently corrupts local IMAP folders
    3. Horrible interface
    4. Funky IMAP support.

  • Entourage : Excellent

    1. I helped to design most of the IMAP support, so there is nothing wrong with it (hehe). Well nothing that I’m unhappy about.

  • Thunderbird : Good

    1. Fast
    2. Supports the delete model I like
    3. Junk Mail filter
    4. Internet style attribution
    5. Supports IDLE (turns out at the time that I wrote this post, Thunderbird did not support IDLE. However, this was recently added)!
    6. Easy to find messages and supports server side IMAP search!!!!
    7. Doesn’t support getting unread counts for all folders w/o manually tweaking the application preferences.
    8. Supports mailbox quota

Update: I updated this post to reflect some corrections, edits and changes.

Comments (70)

  1. kvr says:

    I use Pine (http://www.washington.edu/pine/) as

    my test client for my imap server (since UW defined

    the IMAP protocol I figured if it works with PINE it conforms to the spec).

  2. Dennis says:

    Entourage would be even more perfect if it had Format=Flowed…

  3. … erklrt uns Omar Shahine von und jetzt haltet euch fest: Microsoft. Seit die ihre Blogs haben, gefalle

  4. Peter Aragon(pfar@oce.nl) says:

    Take a look at what LumiSoft has to offer:

    http://www.lumisoft.ee/lsWWW/ENG/Products/Mail_Server/mail_index_eng.aspx?type=info

    It gives you a mailserver implemented in C#, complete with source code.

    I’ve altered the deletion in IMAP to purge automatically, and to update when mail comes in.

  5. Larry Osterman says:

    OE supports IDLE, I put IDLE into the Exchange IMAP server and Raymond implemented it in the client 🙂

  6. Omar Shahine says:

    Thanks for the info Larry! I thought OE had IDLE support but I wasn’t sure.

  7. KC Lemson says:

    Outlook also supports IDLE (I was the tester on it years ago).

    And, I know this isn’t a great answer, but it’s possible to write an addin to Outlook that provides server-side drafts/sent items as well as the exchange-style deletion model.

    I actually have some (absolutely wretched) code to do the deletion model that I wrote up for a customer a few years ago. It also adds a button to purge deleted in all folders.

    Outlook’s object model is pretty powerful to add customizations to make it behave the way you want.

  8. Omar Shahine says:

    I tried to write an add-in once to handle the internet style replies but I gave up. I just can’t handle using the Office Macro editor and VB…

    I have a button now that purges messages in that folder (it’s just the menu command from the Edit menu) but I really don’t want to have to press it all the time.

  9. Rick Johnson says:

    Thunderbird does support polling all mailboxes for unread counts. It is, however, a "hidden" option. By default, you’ll need to select each folder, get properties, and select an option to check for new messages.

    For those who want all folders checked each time, add the following line to your prefs.js or user.js:

    user_pref("mail.check_all_imap_folders_for_new", true);

    Note – for high folder count mailboxes, this could put undue load on the server if your cached connection count is unreasonably high (above 5?) since TBird (and Moz) will use all of these connections to quicken the polling.

  10. DL says:

    What version of Eudora did you use? Is the new version 6 just as bad as far as IMAP?

  11. Rod Begbie says:

    Two points:

    1) Thunderbird doesn’t yet support IDLE. There’s a bug open (http://bugzilla.mozilla.org/show_bug.cgi?id=141369) to support it. Hopefully it’ll come to fruition soon.

    2) There’s a great tool for OE called OE-Quotefix (http://home.in.tum.de/~jain/software/oe-quotefix/) which does a great job of making the viewing and editing of messages work like a real, responsible mail client. It was my saving grace in my pre-Thunderbird days.

  12. steve burke says:


    Thunderbird : B+

    Fast

    Supports the delete model I like

    Junk Mail filter

    Internet style attribution

    Supports IDLE

    Easy to find messages and supports server side IMAP search!!!!

    **** Doesn’t support getting unread counts for all folders

    Supports mailbox quota

    **** this one drives me nuts! One thing I like about OE is it is very easy to set up syncronization of all folders and you have the choice of all, new, headers only. If TBird would add this, it would be so sweet.

  13. OE for Windows actually has pretty good offline support. You can do most anything offline that you can do online, and all actions are synced to the server next time you connect.

    An IMAP program to definitely check out for Windows is Mulberry (http://www.cyrusoft.com) – it doesn’t have to download everything locally, handling server-side searches, sorting, etc. So it’s super-fast for big mailboxes.

    BTW Omar, if there’s anything we at FastMail.FM can do to work better with Entourage, feel free to let me know (you can use this form: http://www.emailaddresses.com/forum/member.php?s=&action=mailform&userid=1074 )

  14. Henrik Gemal has written up a clever tutorial on how to backup IMAP mail using Mozilla Thunderbird. Follow that up with the corresponding tutorial on restoring IMAP emails. Now those of you who’re still using POP3 to get your email…

  15. Omar Shahine says:

    Rod, thanks for the correction. I could have swore that Thunderbird did IDLE. I guess it’s the automatic mail check that I’ve assumed was IDLE ;-).

    Well, I hope they add this soon. IDLE is a hard feature to impliment correctly.

  16. Ere Maijala says:

    In Thunderbird you can select which folders to check for new messages. Open the folder properties (right-click a folder and select properties, or select Folder properties from the Edit menu) and check "Check this folder for new messages".

    Ere

  17. Ere Maijala says:

    Btw, I believe Thunderbird 0.5 contains an improvement in checking other folders for new messages. The folders are no longer selected and headers synchronized, but the IMAP status command is used, which makes the check a lot faster and more unobtrusive.

  18. Nigel L says:

    AOL Communicator 20030919.3 pleases me; it is a version updated for AOL 9 available to beta testers. Footprint is small so I can have it loaded constantly on the laptop. It doesn’t strip out stationery and graphics, even in the @aol.com inbox (as the AOL client mail does); I like the animated smilies.

    Support for SMTP sending via port 465 is important to me since I often use a free ISP which blocks port 25. PegasusMail does that better than Outlook Express (with every other Windows program I need stunnel). I really don’t think there’s a quicker mail client than PMail, even if it aint pretty and IMAP cofiguration is tricky.

    Don’t overlook Y.A.M.C., Yet Another Mail Client; the author is adding IMAP support and wants help from anyone who’ll give it.

  19. Tom says:

    I recently switched from MSOE to TBird and I’m quite happy. Big improvement. My only complaint is the ‘send’ model: in MSOE I could put messages in the Outbox and then send them all later. I’ve noticed that there are TBird extensions that do this so I’ll give one of them a try.

  20. Observer says:

    I also just recently discovered Mozilla Thunderbird and I can only say: Wow! It truly has excellent support for mail standards and on top of it has an awsome anti-spam filter. Quick search feature is also a must once you try it. I highly recommend this browser.

  21. Bart Vliegen says:

    Thunderbird and Fastmail.fm, my favourite combo also! IDLE support in Thunderbird would be great. Perhaps in time for 1.0?

  22. Jay says:

    1. Outlook is so limiting because you can’t run multiple instances of it. Often it’s great to run a few copies of PC-Pine or multiple Thunderbird views.

    2. I would rank Mulberry an A+, above the rest, as an IMAP client. However, no HTML support is becoming a serious drag.

    3. On slower PCs (<1GHZ), Outlook feels faster than Thunderbird. I think messages actually load faster too.

    4. I would encourage everyone who’s IMAP addicted to run a few email clients concurrently and use each for it’s strongest features. This is where IMAP surpasses Exchange handily.

  23. One of the strongest IMAP clients is actually Chatter, from http://www.imchatter.com . This is for the Treo 600 (PalmOS). It supports instant messaging (via a Jabber gateway to Yahoo, MSN, and ICQ/AIM) too. The IMAP support includes IDLE on up to four folders simultaneously, and uses async IO so everything happens in the background.

  24. I agree with Jay that if you’re into IMAP, try running a few IMAP clients concurrently. I often have both Pine and Mulberry running, and sometimes Moz Mail/News too! The thing that’s making me crazy right now is that all three of these use a different naming system for IMAP keywords so, for example, if I flag something as "ToReplyTo" I only see that flag in the client where I flagged it. I’m hoping that something is done soon to unify the IMAP keyword space.

  25. Anonymous says:

    Welcome to my web wanderings :: IMAP Client reviews and comments.

  26. Mozilla lurker says:

    IDLE support for Mozilla/Thunderbird, so it will be in the next release!

    Sometimes things catch up fast… 🙂

  27. Mozilla lurker says:

    (And sometimes you click "Submit" to fast as well)

    IDLE support for Mozilla/Thunderbird went in today!

  28. Omar Shahine says:

    That’s great news ;-).

  29. Upilogue says:

    Thunderbird 0.5+ has a fix for the IDLE support, and it handles the IMAP connections much better than before. The improvement is more noticeable behind a corporate firewall. I am no longer getting "unable to copy to sent folder" when I am sending out a message when Thunderbird has been sitting in the background for a while, and there is now a prompt for retrin copying to the sent message if Thunderbird encounters an error.

  30. Upilogue says:

    Forgot to mention that Thundertray is a great addition to Thunderbird. It allows you to keep Thunderbird running with no icon in the taskbar, but it keeps an icon on the system tray.

  31. Omar Shahine says:

    I checked their site and they are still listing only .5. I’ll upgrade when .6 is out. Thanks for the info!

  32. SteveL says:

    I am new to IMAP, FastMail and Thunderbird.

    Previously I was just a ‘POP’ person…and found TheBat! to be an awesome if unattractive mailer.

    TheBat v2.x has much improved IMAP support. OutlookExpress (OE) is the easiest /most transparent to use IMAP with. ThunderBird is very nice…but hard to learn how to use …eg hard to learn how to use IMAP with it…unlike OE. TB was a lot better when a kind person on a FastMail forum pointed out there was such a thing as an ‘offline’ extension and I needed to instal it. And this business of adding codes to user.js files or whatever in T-Bird doesn’t appeal to me…ie I am reasonably computer literate, but no aficionado, Yes…I know T-bird is a technology preview…but it will be GREAT when it is as user friendly as say OE…..

    SteveL the neophyte- Australia PS excuse the typos..

  33. matteo says:

    my experiences:

    Eudora totally didn’t work for me, either. too bad. i’d like to like it.

    O.E. sometimes deletes all my mail.

    I’m using Mulberry now– I think the interface must have been designed by the guy in the dark office with the big beard and the birkenstocks with socks- it is just so bad, and there are bugs and half implemented features. i understand they will come out with a new interface next year.

    Looking forward to trying thunderbird again!

    -matteo

  34. Asrail says:

    Edit the pref may be dangerous and the TBird can edit it. Use only user.js instead.

  35. Jeremy says:

    so, when is OL2K3 going to be as smart as Entourage, and when is it actually going to become as fast as OE !

    I use Outlook because it includes integrated PIM and syncs with my Palm and with add-ons like MailFiler it’s great. But…. it’s slow, IMAP support is kinda sucky and it’s nowhere near as smart as Entourage (but I can’t move 100% to my Mac)

  36. The Washington Post had a great article today on IMAP. What is IMAP? For a clear layman’s description read the link above. For Dennis’ runon-one-line description: Unlike the POP protocol, which everyone typically uses to "download" their mail from a server to their email client (Outlook, Outlook Express, Eudora, Netscape), IMAP is a protocol that enables your mail to live on the server. An example: Dennis tends to check mail from 4 different computers regularly. And he hates using those web mail sites (e.g. Yahoo) because reading mail is painful, there are lots of distracting ads, and the email composition experience generally sucks. Using POP (which is what most normal people do), all the mail would be downloaded to a single inbox on one computer. Leaving none for the rest of the other computers. With IMAP however, Dennis can set up a bunch of folders, and everytime he moves a message, that message is moved on all machines. What everyone needs is a great IMAP service provider, and a great IMAP e-mail client. Omar has a list of great e-mail clients in this post, of them, [shameless plug] Microsoft Entourage, especially Microsoft Entourage 2004, is my favorite. Unfortunately, the Washington Post article above forgot to mention it! But fret not, Entourage has received wide acclaim in other publications such as Wired and Playboy [twice! seriously!]. As for an IMAP service provider, like the article notes, most ISPs actually offer IMAP – they just don’t tell you about it (because they don’t know!). So do check with your ISP or just try setting up an IMAP account in your favorite email program with your existing server settings and see what happens! Personally, for e-mail, I use services provided by http://www.mailcan.com [offically known as FastMail]. Their service is fast, the prices are low ($15 for a lifetime account), and they have a fantastic junk mail filter. Their UI is bearable, and they’re in the e-mail business — meaning that they don’t always try to push other services and crap on you. Also, they don’t just go around blocking messages unlike certain other e-mail service providers causing you to lose mail. So give IMAP a try if you use multiple computers – your life will be so much more efficient. FULL DISCLOSURE 1. I work on the Microsoft Entourage for Mac team. But I really do believe it is a great e-mail client. And so do Wired and Playboy. 2. I do not work for Mailcan/Fastmail nor I am getting paid by them. However, if you do want me to get credited for telling you about their great service, please enter "decheung@mailcan.com" when you reach the field that asks you for the "referrer" while signing up for an account….

  37. Ben Church says:

    It appears that Entourage doesn’t support IMAP shared folders. Can anyone confirm this? Where can I log this as a feature request?

    Ben

  38. Omar Shahine says:

    I’ll make sure it gets entered in our bug database

  39. Oh happy day! In a random search I came up with this page and then this one, which tell how…

  40. Here is log file proof that Outlook (2003 at least) has IDLE support:

    IMAP: 16:09:42 [rx] + entering idle mode

  41. Athena says:

    Outlook has always supported IDLE. The reply attributions are also more flexible than presented above — although perhaps not quite what many users want. I was also surprised by the comment about Outlook search: What email client has better searching than the Outlook Advanced Find?

    I tried Mulberry this past week and realized just how spoiled I am with Outlook. Other clients may have better IMAP support — storing sent items and drafts on the server, more efficient purging of deleted items, etc. — but they don’t have many of the basic usability advantages of Outlook and none of the integration with other office programs. Mail without integration is of marginal use to me.

  42. George says:

    The big killer for me with Outlook isn’t only how horrible it works with IMAP. It’s the giant letdown that even though non-email forms (Contacts, Calendars) can easily be stored in IMAP folders in a retrievable way, Outlook doesn’t do it. Support for that just seems like it should be so natural, and it’s not there. It’s also the reason why my Ipaq has been sitting in a dresser drawer for six months.

  43. nham says:

    Are they _ever_ going to add client-side filtering for OE IMAP?

  44. I love the filters such as "View -> Threads -> Threads with unread". Unfortunately it cannot be accessed quickly. One has to go through the menu list on the top.

    Nevertheless that’s very handy especially for newsgroups.

  45. Jonas B. says:

    But how many of the clients that support IDLE is able to monitor all by boxes — with one connection? I sometimes sae Outlook having a whole slew of IMAP connections open to the same server. That is completely unacceptable.

  46. Omar Shahine says:

    That is an imap limitation (you can only have one idle connection to a server).

  47. Bob says:

    http://www.pmail.com/overviews/ovw_winpmail.htm

    "Support for all major Internet mail-related protocols – SMTP, POP3, IMAP4, LDAP, PH"

    "MailMerge allows you to create customized form letters to multiple recipients"

    "Mail filtering; Pegasus Mail pioneered this in 1991, and it’s still the most powerful implementation of automated rule-based filtering you’ll find in a mail client."

    and more…

  48. Anthony Hook says:

    If Mozilla Thunderbird had the following by default then it would be the perfect IMAP client:

    1) Auto-poll all folders, not just the inbox.

    2) Backup/restore

    3) Ability to send an email and store it to IMAP Sent folder by uploading once, not twice. More apparant when uploading with attachments. Dont know if there’s a solution to this.

    4) Minimise to system tray.

    5) Better notifications (eg persistant until acknowledged) when emails are received, especially for emails sent from someone in my address book.

    Still, as it stands with v0.7, it’s an excellent client. Far better than Eudora.

    ..Ant

  49. Moldova says:

    Anybody know a good spam filter for Outlook that works with IMAP accounts? Thank You.

  50. Rob says:

    Omar,

    I’m with you on the importance of plain-text, format=flowed email. But then why doesn’t Enourage (X) support it? I’m planning to buy the upgrade to Entourage 2004 because of its greater compatibility with Exchange, but I haven’t seen anything on the web that suggests that Entourage 2004 supports format=flowed either

    Apple Mail implements this feature perfectly, and I’ve been hoping Entourage 2004 does as well.

  51. Omar Shahine says:

    Sadly, Entourage does not support format=flowed. This is on the feature list though (and has been for a long time). Unfortunatley we were not able to get it into 2004.

  52. Rob says:

    Oh, well! :-(. Thanks for the reply!

  53. Raven says:

    All the info here was just great…I agree that Thunderbird is a very cool IMAP client for the PC, and I like Entourage for the MAC but I have one question that has been bothering me for a while. I work at a university that is using newsgroups to deliver on line classes, and the students that are MAC users were asked to use Entourage to access the classes. This worked great until we changed the authentication to SSL and then they were not able to access the classes anymore. We moved them to T-bird and it works great, but why didn’t it work in Entourage ?

  54. Rahul Roy says:

    We have a Groupwise 5.2 GWIA. It runs IMAP4. My T’Bird IMAP client is unable to show/read MIME attachments.

    Any solution for that?

  55. gsbe says:

    A good spam filter for Outlook is http://spambayes.sourceforge.net/. I have been using it for over 6 months with good results.

    I continually have the stupidest problems with Outlook – when I delete email accounts I can’t remove the account from the folder list on the left, the application is always checking mail in subscribed folders rather than letting me read/write mail, etc.

    As someone mentioned above, if Thunderbird would integrate with contacts, tasks, and calendar and sync with a Palm I would switch in a heartbeat. Don’t any application developers care about these problems? IMAP and converged devices are getting so popular one would assume that there would be a single solid product out there for this need.

  56. If you often encounter error messages like "Server your_imap.server.org has disconnected. The server may have gone down or there may be a network problem." when trying to access Courier-IMAP from an IMAP client (e.g. Mozilla Thunderbird), there are two approaches…

Skip to main content