pub enum SpfError {
DnsTempError(String),
DnsPermError(String),
InvalidRecord(String),
TooManyLookups,
TooMuchRecursion,
MultipleRecords,
}Expand description
Variants§
DnsTempError(String)
DNS lookup failed transiently (timeout, SERVFAIL, …).
DnsPermError(String)
DNS lookup failed permanently (NXDOMAIN, etc.) — usually
the absence of a TXT record is normal and yields
SpfResult::None, not this.
InvalidRecord(String)
SPF record TXT string couldn’t be parsed.
TooManyLookups
Exceeded 10 DNS lookups per RFC 7208 §4.6.4.
TooMuchRecursion
Recursion in include: chains exceeded sane depth.
MultipleRecords
Multiple v=spf1 TXT records found for the same domain
(RFC 7208 §4.5). Per spec → permerror.
Implementations§
Trait Implementations§
Source§impl Error for SpfError
impl Error for SpfError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
impl Eq for SpfError
impl StructuralPartialEq for SpfError
Auto Trait Implementations§
impl Freeze for SpfError
impl RefUnwindSafe for SpfError
impl Send for SpfError
impl Sync for SpfError
impl Unpin for SpfError
impl UnsafeUnpin for SpfError
impl UnwindSafe for SpfError
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
Mutably borrows from an owned value. Read more
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
Compare self to
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>
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