wasm-demo/demo/ermis-f/imap-protocol/cur/1600094967.22507.mbox:2,S

40 lines
1.8 KiB
Plaintext

MBOX-Line: From andris.reinman at gmail.com Wed Sep 9 00:27:14 2020
To: imap-protocol@u.washington.edu
From: Andris Reinman <andris.reinman@gmail.com>
Date: Wed Sep 9 00:27:54 2020
Subject: [Imap-protocol] Any valid use case for COPY besides moving messages?
Message-ID: <CAPacwgy_1WJd5TLRDbykTnzfwv9hgcTLzBQZte5=bMRK-RUFLQ@mail.gmail.com>
Hi,
As the subject states, is there actually any valid use case these days for
COPY to just copy messages instead of being a poor substitute for MOVE
(that is COPY+EXPUNGE)?
If an IMAP server would mark COPYied messages with \Delete and
expunge these immediately after a message has been copied, would it break
any real-use expectations?
Why I'm asking is that I'm building a database backed email server (
https://wildduck.email), we have a moderately sized cluster of emails
(100k+ users, ~50TB+ of data, few hundred million emails) and when an IMAP
client tries to copy all messages from one large folder to another then
copying takes a lot of time (eg 'COPY 1:* target' where * is 10 000) as
listing the database entries and copying these around takes time. And as
there is no response until messages have been fully copied the client might
think that TCP connection has been lost and retries the same action, ending
up doing multiple COPY calls.
So I was wondering if we could simply delete the already copied message
from the source folder, as most probably the client would do it anyway once
COPY is fully completed. Basically COPY would be an alias for MOVE.
Obviously non-standard behavior but would we actually break something
client side by doing this?
Regards,
Andris Reinman
https://wildduck.email
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman13.u.washington.edu/pipermail/imap-protocol/attachments/20200909/7621c931/attachment.html>