Actual spec specifies : http://jmap.io/spec-mail.html#setmessagesubmissions
Standard setFoos method, with the following two extra arguments:
onSuccessUpdateMessage: String[Message]|null A map of MessageSubmission id to an object containing properties to update on the Message object referenced by the MessageSubmission if the create/update/destroy succeeds. (For references to MessageSubmission creations, this is equivalent to a back reference so the id will be the creation id prefixed with a #.)
onSuccessDestroyMessage: String[]|null A list of MessageSubmission ids for which the message with the corresponding messageId should be destroyed if the create/update/destroy succeeds. (For references to MessageSubmission creations, this is equivalent to a back reference so the id will be the creation id prefixed with a #.)
This is not enough. Only a single message could be updated. Imagine the following scenario:
- Bob answers Alice message m1
- Bob saves draft d1
- Bob sends d1. d1 is referenced in the message submission. Upon delivery, he asks the message to be moved to
Sent mailbox. He can do that directly with the message submission.
- Bob needs to do an extra SetMessages request (that can be shipped in the same network call than the SetMessageSubmition) to update m1 keywords so that they include "$Aswered"
Here:
- There is no extra cost associated to the SetMessage request for $Answered
- The question is more When do we want to set $Aswered flag? After messageSubmission creation? Or when the delivery succeeded?
Any thoughts?
Actual spec specifies : http://jmap.io/spec-mail.html#setmessagesubmissions
This is not enough. Only a single message could be updated. Imagine the following scenario:
Sentmailbox. He can do that directly with the message submission.Here:
Any thoughts?