40 lines
1.8 KiB
Plaintext
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>
|