pub struct EmailSubmissionSetParams {
pub on_success_update_email: Option<HashMap<String, PatchObject>>,
pub on_success_destroy_email: Option<Vec<String>>,
pub extra: Map<String, Value>,
}Expand description
Extra args for EmailSubmission/set (RFC 8621 §7.5).
These two fields are method-level arguments on EmailSubmission/set (not
nested inside a create/update object). They let the caller atomically
modify or destroy related Email objects when a submission is created
successfully, without a separate round-trip.
Example use case: remove the $draft keyword from the email after
submission succeeds.
Fields§
§on_success_update_email: Option<HashMap<String, PatchObject>>Map of creation key → jmap_types::PatchObject to apply to the
associated Email if the submission is created successfully
(RFC 8621 §7.5).
Keys that start with "#" are result references to creation keys in
the same create map. Wire format is unchanged from a plain JSON
object because PatchObject is #[serde(transparent)].
on_success_destroy_email: Option<Vec<String>>Email IDs (or #-prefixed creation keys) to destroy if the submission
is created successfully (RFC 8621 §7.5).
Typically used to destroy the draft email after successful submission.
extra: Map<String, Value>Catch-all for vendor / site / private extension fields not covered by the typed fields above. Preserves unknown fields across deserialize/serialize round-trip per workspace extras-preservation policy (see workspace AGENTS.md).