pub struct DmarcRecord {
pub adkim: Alignment,
pub aspf: Alignment,
pub fo: FailureOptions,
pub np: Policy,
pub p: Policy,
pub psd: Psd,
pub rua: Vec<Uri>,
pub ruf: Vec<Uri>,
pub sp: Policy,
pub t: bool,
}Expand description
A DMARC Policy Record (RFC 9989, Section 4.7).
Parsed from a v=DMARC1 DNS TXT record published at _dmarc.<domain>
and found by the DNS Tree Walk of
MessageAuthenticator::verify_dmarc,
which exposes the applied record through DmarcOutput::record. Each
field is named after its tag.
Fields§
§adkim: Alignmentadkim=: DKIM identifier alignment mode (default relaxed).
aspf: Alignmentaspf=: SPF identifier alignment mode (default relaxed).
fo: FailureOptionsfo=: failure reporting options (default 0, FailureOptions::All).
np: Policynp=: policy for non-existent subdomains; defaults to sp.
p: Policyp=: policy for the domain itself; Policy::Unspecified when the
tag is missing.
psd: Psdpsd=: whether the domain is a Public Suffix Domain.
rua: Vec<Uri>rua=: destinations for aggregate reports (RFC 9990).
ruf: Vec<Uri>ruf=: destinations for failure reports (RFC 9991).
sp: Policysp=: policy for existing subdomains; defaults to p.
t: boolt=: test mode (t=y); the policy is applied one level less strictly.
Implementations§
Trait Implementations§
Source§impl Clone for DmarcRecord
impl Clone for DmarcRecord
Source§impl Debug for DmarcRecord
impl Debug for DmarcRecord
impl Eq for DmarcRecord
Source§impl From<DmarcRecord> for TxtRecord
impl From<DmarcRecord> for TxtRecord
Source§fn from(v: DmarcRecord) -> Self
fn from(v: DmarcRecord) -> Self
Source§impl Hash for DmarcRecord
impl Hash for DmarcRecord
Source§impl PartialEq for DmarcRecord
impl PartialEq for DmarcRecord
impl StructuralPartialEq for DmarcRecord
Source§impl TxtRecordParser for DmarcRecord
impl TxtRecordParser for DmarcRecord
Auto Trait Implementations§
impl Freeze for DmarcRecord
impl RefUnwindSafe for DmarcRecord
impl Send for DmarcRecord
impl Sync for DmarcRecord
impl Unpin for DmarcRecord
impl UnsafeUnpin for DmarcRecord
impl UnwindSafe for DmarcRecord
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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> ⓘ
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> ⓘ
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