On Tue, 2 Apr 2002, Mark Crispin wrote in part,

> Outlook and Outlook Express use the IMAP IDLE extension to go into a mode
> in which the client is alerted to new messages automatically without
> having to transmit a periodic NOOP to cycle the protocol (effectively
> polling the server).  This isn't surprising; Microsoft instigated the
> development of that extension.
>
> Unfortunately, Outlook and Outlook Express violate a part of the IDLE
> specification which requires that the client end the IDLE within 29
> minutes (and, if appropriate, issue a new IDLE), in order to renew the
> session and avoid the IMAP inactivity autologout which occurs at 30
> minutes of no activity from the client.
>
> Since Outlook and Outlook Express do not do anything to renew the session,
> it dies at the 30 minute autologout as per the specification.

More on this issue. Using Outlook Express 6.00.2600 (from freshly
installed Win XP) and IMAP4rev1 2000.287. This is what happens
(as seen by snoop/tcpdump),

 10:10:15.66469 PC->postoffice "003S IDLE\r\n"
 10:10:15.66502 postoffice->PC "+ Ready for argument\r\n"
 10:39:15.41263 postoffice->PC "* BYE Autologout; idle for too long\r\n"

As Mark pointed out, Outlook Express failed to do a NOOP to avoid the IMAP
inactivity autologout.

But also note that the default Outlook Express "Check for new messages
every"  option is set to 30 minutes, but UW IMAP dropped the connection in
29 minutes.

Changing the "Check for new messages" to 5 minutes. Now,

 10:42:25.22 PC->postoffice "005M IDLE\r\n"
 10:42:25.22 postoffice->PC  "+ Ready for argument\r\n"
 10:47:4.38  PC->postoffice TCP SYN on new port
 10:47:4.41  postoffice->PC "* OK [CAPABILITY IMAP4 IMAP4REV1 LOGIN-REFERRALS 
AUTH=LOGIN]"

In other words, instead of doing a NOOP Outlook Express starts a fresh
IMAP connection. In this case it does this every 5 minutes.

A compromise might be setting "Check for new messages" to 27 minutes.

Alex Nishri
University of Toronto

Reply via email to