Electric Type

Multimedia

About Us

News

Help

Internet Message Access Protocol
by Sean Welch 10 Jul 1997

Sean Welch used to be an engineer at HotWired and now works for Amazon.com. He has a black belt in pole-swinging.

Page 1

Q:  What is IMAP?
- Lucy

A:  IMAP has been around since 1986, but like the animation functionality found in the GIF89 spec, it only recently began to find its way into products.

What makes IMAP4 different from previous mail-access protocols like Post Office Protocol (POP) is that it allows users to access and manipulate messages on their mail server in the same way they access them locally. Most mail readers today let you delete messages, move them between folders, and mark the ones you've read or have replied to, but this is all done locally. With IMAP4, you can make all those operations while mail is still on the server.

So why is this a good thing? Consider, if you will, a student at a university. Throughout the day, the student might log in from the dorm and read email. With IMAP, the same email folders can be accessed later from a machine in the library, and then from the computer lab. The same holds true for people who log in from home and then from work. It's akin to the concept of the network computer, where all the important information lives on a central server and can be accessed from any random machine. With POP, email is downloaded to the local machine before it's read, and typically resides only on the client after that.

IMAP is all well and good for people who bounce around on different machines, but what of the increasing number of people who log in from different places using a single laptop? If their email lives on a server somewhere, they're out of luck when they're not on the network, right? Not quite.

IMAP also allows them to download messages to their machines, which means they can still access their email when they're not connected to the server. Additionally, IMAP email clients can record user actions on local folders and replay them to the server upon reconnection, bringing the server and client back into synch. (Of course, it's a bit more complicated than that, because changes may have occurred on the server while the user was disconnected, such as the arrival of new mail, or even the arrival of new mail that's been filtered into various other server-side folders. Your mileage may vary, depending on your client and its resynchronization model.)

I've been using IMAP4 mailers for a few months now, and here's a typical situation: I wake up in the morning and my laptop collects my email from home via a dialup connection. I then tell my mailer I'm going offline, and it locally caches messages from folders I've marked, such as my inbox. Between home and work, I stop off at the tea shop for some Pu-erh and go through some of the stored messages. I delete a bunch, move some to other folders, mark others as important. Then, when I finally make it into the office and reconnect to the network, my client talks to the server and notifies it of the changes I've made, so it can reflect them. Likewise, the server tells my client about changes on its end, such as new mail arriving while I was making my way to work.

Of course, that only scratches the surface of the protocol. Mark Crispin built into the spec capabilities for sharing folders, subscribing to folders, and accessing Usenet groups via IMAP4. But as with many specs, implementations lag behind, so even among mailers that claim to support IMAP4, you may not find all the functionality described here. There's also a whole suite of features available to system administrators for ease of user email management, such as quotas and message expiration. For a listing of which clients support what features, as well as a more complete discussion of the protocol, the IMAP Connection is the authority.

Synchronized mail folders are the Grail of email services in the age of mobile computing. It used to be that users were faced with either taking all their mail with them or leaving it all behind. Now we can have the best of both worlds.


Tutorials  

User Blogs  

Teaching Tools  

Authoring  

Design  

Programming help  

Advanced Flash  

Javascript  

Glossary  

PHP Coding  

User Blogs

Screen Shots

Latest Updates

Contact Us

Valid HTML 4.01!
Valid CSS!

Breadcrumb

© ElectricType
Maintained by My-Hosts.com
Site map | Copyright | Disclaimer
Privacy policy | Acceptable Use Policy
Legal information.