pub struct EmailNotifier { /* private fields */ }Expand description
Delivers a subject + body per event over SMTP.
Implementations§
Source§impl EmailNotifier
impl EmailNotifier
Sourcepub fn from_config(
cfg: &EmailNotifyConfig,
env: Arc<Environment<'static>>,
) -> Result<Self>
pub fn from_config( cfg: &EmailNotifyConfig, env: Arc<Environment<'static>>, ) -> Result<Self>
Validates the configuration and builds the SMTP transport. Building
the transport does not itself connect — that only happens on send,
consistent with the rest of this codebase preferring to fail requests
(or, here, individual deliveries) rather than startup on a transient
network condition.
Trait Implementations§
Source§impl Debug for EmailNotifier
impl Debug for EmailNotifier
Source§impl NotifyBackend for EmailNotifier
impl NotifyBackend for EmailNotifier
Source§fn send<'life0, 'life1, 'async_trait>(
&'life0 self,
event: &'life1 NotifyEvent,
) -> Pin<Box<dyn Future<Output = Result<(), NotifyError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn send<'life0, 'life1, 'async_trait>(
&'life0 self,
event: &'life1 NotifyEvent,
) -> Pin<Box<dyn Future<Output = Result<(), NotifyError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Delivers
event. Failure is always non-fatal to the caller — see the
module docs — but it is no longer thrown away: NotifyJob retries it
unless the NotifyError says the attempt could never have worked.Auto Trait Implementations§
impl !RefUnwindSafe for EmailNotifier
impl !UnwindSafe for EmailNotifier
impl Freeze for EmailNotifier
impl Send for EmailNotifier
impl Sync for EmailNotifier
impl Unpin for EmailNotifier
impl UnsafeUnpin for EmailNotifier
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
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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