Struct mail_auth::Resolver

source ·
pub struct Resolver { /* private fields */ }

Implementations§

source§

impl Resolver

source

pub async fn verify_arc<'x>( &self, message: &'x AuthenticatedMessage<'x> ) -> ArcOutput<'x>

Verifies ARC headers of an RFC5322 message.

source§

impl Resolver

source

pub fn new_cloudflare_tls() -> Result<Self, ResolveError>

source

pub fn new_cloudflare() -> Result<Self, ResolveError>

source

pub fn new_google() -> Result<Self, ResolveError>

source

pub fn new_quad9() -> Result<Self, ResolveError>

source

pub fn new_quad9_tls() -> Result<Self, ResolveError>

source

pub fn new_system_conf() -> Result<Self, ResolveError>

source

pub fn with_capacity( config: ResolverConfig, options: ResolverOpts, capacity: usize ) -> Result<Self, ResolveError>

source

pub fn with_capacities( config: ResolverConfig, options: ResolverOpts, txt_capacity: usize, mx_capacity: usize, ipv4_capacity: usize, ipv6_capacity: usize, ptr_capacity: usize ) -> Result<Self, ResolveError>

source

pub async fn txt_raw_lookup(&self, key: impl IntoFqdn<'_>) -> Result<Vec<u8>>

source

pub async fn txt_lookup<'x, T: TxtRecordParser + Into<Txt> + UnwrapTxtRecord>( &self, key: impl IntoFqdn<'x> ) -> Result<Arc<T>>

source

pub async fn mx_lookup<'x>( &self, key: impl IntoFqdn<'x> ) -> Result<Arc<Vec<MX>>>

source

pub async fn ipv4_lookup<'x>( &self, key: impl IntoFqdn<'x> ) -> Result<Arc<Vec<Ipv4Addr>>>

source

pub async fn ipv6_lookup<'x>( &self, key: impl IntoFqdn<'x> ) -> Result<Arc<Vec<Ipv6Addr>>>

source

pub async fn ip_lookup( &self, key: &str, strategy: IpLookupStrategy, max_results: usize ) -> Result<Vec<IpAddr>>

source

pub async fn ptr_lookup<'x>(&self, addr: IpAddr) -> Result<Arc<Vec<String>>>

source

pub async fn exists<'x>(&self, key: impl IntoFqdn<'x>) -> Result<bool>

source§

impl Resolver

source

pub async fn verify_iprev(&self, addr: IpAddr) -> IprevOutput

source§

impl Resolver

source

pub async fn verify_dkim<'x>( &self, message: &'x AuthenticatedMessage<'x> ) -> Vec<DkimOutput<'x>>

Verifies DKIM headers of an RFC5322 message.

source§

impl Resolver

source

pub async fn verify_dmarc( &self, message: &AuthenticatedMessage<'_>, dkim_output: &[DkimOutput<'_>], mail_from_domain: &str, spf_output: &SpfOutput ) -> DmarcOutput

Verifies the DMARC policy of an RFC5322.From domain

source

pub async fn verify_dmarc_report_address<'x>( &self, domain: &str, addresses: &'x [URI] ) -> Option<Vec<&'x URI>>

Validates the external report e-mail addresses of a DMARC record

source§

impl Resolver

source

pub async fn verify_spf_helo( &self, ip: IpAddr, helo_domain: &str, host_domain: &str ) -> SpfOutput

Verifies the SPF EHLO identity

source

pub async fn verify_spf_sender( &self, ip: IpAddr, helo_domain: &str, host_domain: &str, sender: &str ) -> SpfOutput

Verifies the SPF MAIL FROM identity

source

pub async fn verify_spf( &self, ip: IpAddr, helo_domain: &str, host_domain: &str, mail_from: &str ) -> SpfOutput

Verifies both the SPF EHLO and MAIL FROM identities

source

pub async fn check_host( &self, ip: IpAddr, domain: &str, helo_domain: &str, host_domain: &str, sender: &str ) -> SpfOutput

Trait Implementations§

source§

impl Clone for Resolver

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more