Hmm, ok.  (Won't argue with the man whose name is on the RFC. ^_^)

May I suggest that, in future revisions of RFC 2060, that the paragraph in
section 6.3.1, page 23:

   If the client can not change the permanent state of one or more of
   the flags listed in the FLAGS untagged response, the server SHOULD
   send a PERMANENTFLAGS response code in an OK untagged response,
   listing the flags that the client can change permanently.

be changed?  In my opinion it suggests that the PERMANENTFLAGS response is
optional if the client can change all of the FLAGS listed in the FLAGS
untagged response.  If it is the case that the server MUST send the
PERMANENTFLAGS response if there are any flags that can be changed, then the
PERMANENTFLAGS response code should be added to the list of untagged data
items that MUST be sent.

It seems exceptionally bogus that outlook would just not work on a system
without IDLE.  (After outlook does not get a response from my server, it
pops up a dialog box saying "Hey user, your evil IMAP server timed out while
I was trying to get new mail!"  The is regardless of what I click.)  I guess
I should get started implementing IDLE....

john


-----Original Message-----
From: Mark Crispin [mailto:[EMAIL PROTECTED]] On Behalf Of Mark
Crispin
Sent: Monday, February 10, 2003 10:26 AM
To: John Doty
Cc: Larry Osterman; [EMAIL PROTECTED]

On Mon, 10 Feb 2003 10:12:45 -0800, John Doty wrote:
> (Just so that I can believe I understand the RFC, PERMANENTFLAGS is 
> optional when it does not differ from the set of flags you returned 
> with the FLAGS status, right?  It would gall me to have to include it 
> just because uw-imap
> does...)

PERMANENTFLAGS means that when you change the flag, the flag will stay
changed in the next session, as distinguished from flags which are only
valid in a particular session and are discarded when the session terminates.

I think that what you are seeing is Outlook's standard behavior when the
server does not support IDLE.  Rather than periodically poll the server for
new mail by issuing a command every few minutes (which is what it should
do), it just sits there unless the user does a mouse click.

FWIW, rumors to the contrary notwithstanding, NOOP is not a "poll command".
All commands check for new mail on the selected stream as a side-effect.
NOOP does nothing else, so if you want to poll for new mail but not do
anything else, then you use NOOP.

Anyway, the galling thing is that to work well with Outlook, you have to
implement IDLE.  But you're not done yet.  Outlook won't terminate the idle
state before the 30 minute inactivity autologout timer, even though the
specification says that it should.

So, at about 29 minutes into the IDLE, the server needs to send a hokey
EXISTS announcing fake new mail, then when the client sends a DONE the
server should send a hokey EXPUNGE to make the fake new mail go away.  That
will cause the client to issue a new idle and prevent the autologout.

Reply via email to