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
-----------------------------------------------------------------

Reply via email to