pub struct EmailPosture {
pub domain: String,
pub spf: SpfPolicy,
pub dmarc: DmarcPolicy,
pub mta_sts: MtaStsPolicy,
pub bimi: BimiPolicy,
pub dane: DanePolicy,
pub mx: MailExchangers,
pub notes: Vec<String>,
}Expand description
The aggregate email/DNS security posture for a domain.
Fields§
§domain: String§spf: SpfPolicy§dmarc: DmarcPolicy§mta_sts: MtaStsPolicy§bimi: BimiPolicy§dane: DanePolicy§mx: MailExchangersMX state, read once for DANE and reused by consumers (the audit’s “receives mail?” questions).
notes: Vec<String>Human-readable advisory findings (e.g. “domain is spoofable”).
Trait Implementations§
Source§impl Clone for EmailPosture
impl Clone for EmailPosture
Source§impl Debug for EmailPosture
impl Debug for EmailPosture
Source§impl<'de> Deserialize<'de> for EmailPosture
impl<'de> Deserialize<'de> for EmailPosture
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for EmailPosture
impl RefUnwindSafe for EmailPosture
impl Send for EmailPosture
impl Sync for EmailPosture
impl Unpin for EmailPosture
impl UnsafeUnpin for EmailPosture
impl UnwindSafe for EmailPosture
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more