pub struct EmailImportInput<'a> {
pub blob_id: &'a Id,
pub mailbox_ids: &'a [Id],
pub keywords: Option<&'a [&'a str]>,
pub received_at: Option<&'a UTCDate>,
pub extra: Map<String, Value>,
}Expand description
Per-creation EmailImport object for Email/import
(RFC 8621 §4.8).
The raw RFC 5322 message must already have been uploaded as a blob; the
caller passes that blob’s id here. At least one mailbox id MUST be
supplied; the empty case is rejected by email_import as InvalidArgument.
Fields§
§blob_id: &'a IdBlob id of the uploaded raw RFC 5322 message.
mailbox_ids: &'a [Id]Mailbox ids the new Email is assigned to. Wire shape is {id: true};
callers supply the set as a slice. At least one id is required (RFC 8621 §4.8).
keywords: Option<&'a [&'a str]>Keywords to apply to the Email. Wire shape is {keyword: true}.
Defaults to an empty map per RFC 8621 §4.8 when None.
received_at: Option<&'a UTCDate>receivedAt to set on the imported Email. Defaults to the most recent
Received header or import time per RFC 8621 §4.8 when None.
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).
Constraint: keys in extra MUST NOT collide with the
typed-field wire names above (the camelCase spelling — e.g.
"accountId", "ids", "properties", "blobIds",
"fromAccountId", etc.). On collision the typed-field value
wins on the wire and the extra value is silently dropped at
serialization. Place vendor extensions under vendor-prefixed
keys (e.g. "acmeCorpFoo") to avoid the collision class.
Trait Implementations§
Source§impl<'a> Clone for EmailImportInput<'a>
impl<'a> Clone for EmailImportInput<'a>
Source§fn clone(&self) -> EmailImportInput<'a>
fn clone(&self) -> EmailImportInput<'a>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more