问题
For those of you familiar with IMAP - If I retrieve a draft message (or any message for that matter), and I wish to update it / edit it, what commands should I use?
The only command i've come across is Append
, which appears to only insert, meaning I would have to delete the previous draft from the mailbox?
回答1:
IMAP is designed for server-side management of mailboxes, not for editing messages. So yes, you would have to retrieve the contents of the desired message (FETCH
), then delete that message from the server (STORE
a \Deleted
flag on the message and then EXPUNGE
deleted messages), and then upload the updated message to the server (APPEND
). There are no IMAP commands for editing the contents of an existing message, only for updating flags related to existing messages (STORE
).
回答2:
Remy's answer is correct. On top of that, you could optimize the process a bit if the server supports the CATENATE
extension via APPEND CATENATE
(so that you could save yourself uploading the existing attachments, etc).
来源:https://stackoverflow.com/questions/16945041/imap-editing-a-draft-or-existing-message