pub struct EmailAuthenticator<R: DnsResolver> { /* private fields */ }Expand description
Combined email authenticator running SPF, DKIM, and DMARC in sequence.
Implementations§
Source§impl<R: DnsResolver> EmailAuthenticator<R>
impl<R: DnsResolver> EmailAuthenticator<R>
pub fn new(resolver: R, receiver: impl Into<String>) -> Self
pub fn with_clock_skew(self, skew: u64) -> Self
Sourcepub async fn authenticate(
&self,
message: &[u8],
client_ip: IpAddr,
helo: &str,
mail_from: &str,
) -> Result<AuthenticationResult, AuthError>
pub async fn authenticate( &self, message: &[u8], client_ip: IpAddr, helo: &str, mail_from: &str, ) -> Result<AuthenticationResult, AuthError>
Authenticate a raw RFC 5322 message.
message: raw RFC 5322 bytesclient_ip: connecting client IPhelo: EHLO/HELO identitymail_from: MAIL FROM address (envelope sender)
Auto Trait Implementations§
impl<R> Freeze for EmailAuthenticator<R>where
R: Freeze,
impl<R> RefUnwindSafe for EmailAuthenticator<R>where
R: RefUnwindSafe,
impl<R> Send for EmailAuthenticator<R>
impl<R> Sync for EmailAuthenticator<R>
impl<R> Unpin for EmailAuthenticator<R>where
R: Unpin,
impl<R> UnwindSafe for EmailAuthenticator<R>where
R: UnwindSafe,
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