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