On 10/23/2008 09:01:56 PM, Mark Crispin wrote:

> Why do you think the gmail's behavior breaks standard compliance? For > me, it looks as in there was an system process concurrently attached to
> the mailbox that sends periodically EXPUNGE commands. Can you please
> point out to the part of the standard that is not obeyed?

Regardless of whether or not some other system process issued an EXPUNGE
command, the EXPUNGE has not been announced in the session.  Only
inferior, poorly-designed servers fail to keep message data available to the
session in that case.

That is not what I observe:
IMAP C: 8 Store 15 +Flags.Silent (\deleted)
IMAP S: 8 OK Success
IMAP C: 9 NOOP
IMAP S: * 15 EXPUNGE
* 15 EXISTS
9 OK Success

Expunge is announced just fine.

Even more important is the fact that Gmail does this automatic expunging when the \Deleted flag is set at all. This is in complete defiance of the entire point of the delete-expunge model, and breaks the user's option of undeleting.

Of course it does not break undelete, the mail is still kept in "[Gmail]/All Mail" folder.

This is the same company that asserts that it has the legal and moral right to collect, copy, and archive any data that it can electronically access, without even the formality of a polite note to the owner of that data or the
individuals referenced in that data.

I agree with your on this point, I do not really use Gmail myself - but I do not see how this is relevant in the discussion about IMAP standard compliance.

Yet, when it comes to personal email messages, they aggressively purge
these from the user's IMAP INBOX.

Yes, I know about the place where they hide the messages away.  That
doesn't matter.  The whole point of standards is not to have every
implementation doing its own idiosyncratic thing.

Yes, Gmail behaves differently. [1] No, I do not like servers that force me to access messsages in "their" way. Does the above mentioned Gmail IMAP Store command is not standard-compliant? I don't think so. I like to think of Gmail as a special purpose, mostly standard-compliant IMAP server.

Pawel
[1] There is a better example of Gmail's non-compliance with respect to \deleted flag handling. Consider following:

IMAP C: 16 SELECT "[Gmail]/All Mail"
...
IMAP C: 29 Store 6070 +Flags.Silent (\deleted)
IMAP S: 29 OK Success
IMAP C: 31 EXPUNGE
IMAP S: 31 OK Success
IMAP C: 32 COPY 6068:6070 "[Gmail]/Trash"
IMAP S: * 6068 EXPUNGE
* 6068 EXPUNGE
* 6068 EXPUNGE
* 6067 EXISTS
32 OK Success

Command tagged 29 marks message no 6070 but following expunge command expunges nothing, and does not advertise \delete flag flip either. Unsurprisingly enough, COPY command with target "[Gmail]/Trash" triggers the expunge....
_______________________________________________
Imap-uw mailing list
Imap-uw@u.washington.edu
http://mailman2.u.washington.edu/mailman/listinfo/imap-uw

Reply via email to