#[non_exhaustive]pub struct EmailAddress {
pub at_type: Option<String>,
pub address: String,
pub contexts: Option<HashMap<String, bool>>,
pub pref: Option<u32>,
pub label: Option<String>,
pub extra: Map<String, Value>,
}Expand description
An email address (RFC 9553 §2.3.1).
Distinct from the JMAP Mail RFC 8621 §2 binding type
jmap_mail_types::EmailAddress:
that type carries an RFC 5322 mailbox (name + email) and appears
in Email.from / Email.to etc., whereas this EmailAddress is a
JSContact sub-object embedded in a ContactCard.emails map.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.at_type: Option<String>Object type discriminator; SHOULD be "EmailAddress" when present per RFC 9553 §1.3.4 (may be omitted in defaultType positions).
address: StringThe email address. Must be an RFC 5322 addr-spec.
contexts: Option<HashMap<String, bool>>Contexts in which to use the address (key → true).
pref: Option<u32>Preference order in 1..=100 (lower = more preferred).
label: Option<String>Custom label for the value.
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).
Trait Implementations§
Source§impl Clone for EmailAddress
impl Clone for EmailAddress
Source§fn clone(&self) -> EmailAddress
fn clone(&self) -> EmailAddress
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more