I've noticed some strange behavior when using IDLE to listen for new mail indications. If we have two concurrent sessions one in IDLE and another processing IDLE requests we get the following response:
Session 1 1 IDLE + IDLE Accepted <Some time passes and then new mail arrives> * N EXISTS * 1 RECENT Session 2 <Ah Ha, I see I have new mail> 2 FETCH N BODYSTRUCTURE * N EXISTS * 1 RECENT 2 NO the specified message set is invalid 3 FETCH N BODYSTRUCTURE * N FETCH (BODYSTRUCTURE etc ... ) 3 OK FETCH Complete I've seen this similar response from both the UW IMAP server and Exchange 2000 and 2003. Also, it is not peculiar to IDLE. For example the following sequence also occurs: Session 1 1 NOOP * N EXISTS * 1 RECENT 1 OK NOOP Completed Session 2 2 FETCH N BODYSTRUCTURE * N EXISTS * 1 RECENT 2 NO the specified message set is invalid I believe this to be an optimization on the servers part. Some kind of "lazy" processing of the folder, but what has me stumped is why it has session affinity? Opinions please ... is this a spec gray area, a bug or is there something in the spec that dictates this behavior? If it is in the spec I certainly can not find it. It would seem to me to be a bug, but since it happens on multiple server implementations I'm not so sure. Mike -- ----------------------------------------------------------------- For information about this mailing list, and its archives, see: http://www.washington.edu/imap/imap-list.html -----------------------------------------------------------------
