Hi, Rather than trying to have the server keep a record of what the client knows about so that it can second guess what the client might ask for, surely we should just tell the clients to sync up.
And I don't know what's wrong with SEARCH 1:* UNSEEN * SEARCH 1,2,3,4,5,6,7,8,9 * EXPUNGE 5 OK SEARCH COMPLETED Why cant the client just say "oh, immediately after the search message 5 was removed so I had better make a note of that". Its not rocket science. Maybe a new RFC advisory "RFCXXXX Clients SHOULD NOT issues FETCH STORE SEARCH without a NOOP between them", our servers could then issue a "NO Client is not RFCXXXX compliant". I bet the client writers would update pretty sharpish then. It really is stretching it to say that a server cannot delete a message from its store because some mail client MIGHT want to take a look at it at some undefined time in the future. IMO IMAP should not be placing constraints about the operation of the whole server (which forcing messages to hang around forever does). Imagine a user who has two clients open, one in one office (A), and the other three quarters of a mile away in another office(B). He has both looking at his inbox and a quota of 10 messages is set. He has forgotten about the second client and marked the messages in the first as deleted and expunges them. Now he starts to worry because he's not getting any mail. Why? Because his other client is holding all the messages and the system cannot delete them. In this scenario you would say that client A is broken because it didn't do a NOOP and allow the changes to come down. However, I can guarantee that in 99% of my customer base, if it were my server they would yell at me that it was broken. OR you could say that the server should factor the expunged (but not deleted) messages from the quota calculation, but I would argue that that would be the worst thing you could do. IMAP as it stands does not seem to cater at all well for shared folders. Most clients send NOOPS every 5 minutes and some don't have the faintest idea of what a UID is. There is a perfectly good extension IDLE that helps BUT only MS seem to have bothered with it. What is needed is not to try to shift the burden to the servers but force the clients to get their act together. An error dialog stating a non conformance to an RFC would do that. Failing that I will have to tell pretty much all of my customer base that the only clients worth using are Outlook and Outlook Express. Which would be a sad day for us all ! Regards Richard Bang Floosietek Ltd [EMAIL PROTECTED] http://www.floosietek.com