pub struct EmailParseParams {
pub properties: Option<Vec<String>>,
pub body_properties: Option<Vec<String>>,
pub fetch_text_body_values: Option<bool>,
pub fetch_html_body_values: Option<bool>,
pub fetch_all_body_values: Option<bool>,
pub max_body_value_bytes: Option<u64>,
pub extra: Map<String, Value>,
}Expand description
Extra args for Email/parse (RFC 8621 §4.9).
Mirrors the body-fetch options of EmailGetParams plus a properties
override. All fields are optional; absent fields use server defaults.
Fields§
§properties: Option<Vec<String>>Override the set of Email properties returned per parsed message
(RFC 8621 §4.9). When None, the server returns the default set
documented in the spec.
body_properties: Option<Vec<String>>Override the set of body-part properties returned (RFC 8621 §4.9).
fetch_text_body_values: Option<bool>If true, inline values for text/plain body parts (RFC 8621 §4.9).
fetch_html_body_values: Option<bool>If true, inline values for text/html body parts (RFC 8621 §4.9).
Wire name is fetchHTMLBodyValues (HTML uppercase) per RFC 8621
§4.9 line 3163. The default camelCase serde rename would produce
fetchHtmlBodyValues, which a strict server treats as an unknown
invocation argument and silently drops.
fetch_all_body_values: Option<bool>If true, inline values for all body parts (RFC 8621 §4.9).
max_body_value_bytes: Option<u64>Truncate body values to at most this many octets (RFC 8621 §4.9).
Email/parse reuses the same truncation contract as
EmailGetParams::max_body_value_bytes: the truncation point
is rounded down to a UTF-8 character boundary so the returned
string is always valid UTF-8, and truncated EmailBodyValue
objects have isTruncated set to true. Callers that need
the full body of a truncated value should download the raw
blob via
JmapClient::download_blob.
Spec magic-value: Some(0) is equivalent to omitting the field
per RFC 8621 §4.9 (“If positive, …”). Pass None to omit the
wire field entirely (server uses its default policy), or
Some(n) with n > 0 for an explicit truncation cap.
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 Clone for EmailParseParams
impl Clone for EmailParseParams
Source§fn clone(&self) -> EmailParseParams
fn clone(&self) -> EmailParseParams
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more