#[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 moreSource§impl Debug for EmailAddress
impl Debug for EmailAddress
Source§impl<'de> Deserialize<'de> for EmailAddress
impl<'de> Deserialize<'de> for EmailAddress
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for EmailAddress
Source§impl PartialEq for EmailAddress
impl PartialEq for EmailAddress
Source§fn eq(&self, other: &EmailAddress) -> bool
fn eq(&self, other: &EmailAddress) -> bool
self and other values to be equal, and is used by ==.