Hi Mickael, and first of all many kudos for your great work.
My question is on message archival. I'm scripting it using Python to access the DavMail IMAP server, and I need to move messages (based on several conditions) from one folder to another on the same Exchange server.
In this case, is there a performance benefit in using IMAP MOVE rather than downloading the message using FETCH and uploading it again using STORE? In other words, on the MAPI side, do you use a command that transfers the bits server-side, without downloading anything, or would you simulate MOVE by downloading the message and re-uploading it?
The reason I'm asking is because I usually have little bandwidth, and with multi-megabyte messages the difference is quite significant.
Thanks
Mauro
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yes, I know MOVE is an extension for IMAP (although I'm coding my client referring to RFC 6851, that appears to be an updated version of the document you point to), not a problem as I'm interfacing directly with the protocol. Being able to leverage a real MOVE makes things many times faster for me in many cases.
By the way, you implement MOVE but not UID MOVE, right?
Thanks again
Mauro
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Mickael, and first of all many kudos for your great work.
My question is on message archival. I'm scripting it using Python to access the DavMail IMAP server, and I need to move messages (based on several conditions) from one folder to another on the same Exchange server.
In this case, is there a performance benefit in using IMAP MOVE rather than downloading the message using FETCH and uploading it again using STORE? In other words, on the MAPI side, do you use a command that transfers the bits server-side, without downloading anything, or would you simulate MOVE by downloading the message and re-uploading it?
The reason I'm asking is because I usually have little bandwidth, and with multi-megabyte messages the difference is quite significant.
Thanks
Mauro
I confirm IMAP MOVE implementation relies on server side move.
Note that this is not supported by all IMAP clients, this is an extension.
http://tools.ietf.org/id/draft-krecicki-imap-move-00.html
Thanks!!
Yes, I know MOVE is an extension for IMAP (although I'm coding my client referring to RFC 6851, that appears to be an updated version of the document you point to), not a problem as I'm interfacing directly with the protocol. Being able to leverage a real MOVE makes things many times faster for me in many cases.
By the way, you implement MOVE but not UID MOVE, right?
Thanks again
Mauro
both