Skip to main content

Mail

Struct Mail 

Source
pub struct Mail { /* private fields */ }
Expand description

Plugin installer — call Self::client before app.install to share the handle (e.g. tasks).

Implementations§

Source§

impl Mail

Source

pub fn smtp(host: impl Into<String>) -> SmtpBuilder

SMTP relay (STARTTLS via lettre relay). Use SmtpBuilder::build or install via From.

Source

pub fn fake() -> Self

Record messages in memory (tests / local demo).

Source

pub fn file(dir: impl Into<PathBuf>) -> Self

Write .eml files under dir.

Source

pub fn from_env() -> Self

Like Self::try_from_env, panics on invalid SMTP URL / unknown mailer.

Missing mailer + missing URL still yields fake (dev DX). Prefer Self::try_from_env in main when you want ?.

Source

pub fn try_from_env() -> Result<Self>

Build from process env — see Self::try_from_vars.

Source

pub fn try_from_vars<F>(get: F) -> Result<Self>
where F: FnMut(&str) -> Option<String>,

Build from a lookup fn (tests / custom env sources).

  • SOVA_MAIL / SOVA_MAIL_MAILER: fake | smtp | file (optional)
  • No mailer + no URL → Self::fake (dev)
  • smtp / URL set + parse failure → Err (never silently fakes)
  • fileSOVA_MAIL_PATH (default ./mail)
Source

pub fn from(self, addr: impl Into<String>) -> Self

Source

pub fn client(&self) -> MailClient

Shared client (clone before install for background jobs).

With feature templates, the templates slot is shared with the installed client — wiring at install / startup reaches earlier clones too.

Source

pub fn recorder(&self) -> Option<&FakeMail>

Recorder when using Self::fake.

Trait Implementations§

Source§

impl From<SmtpBuilder> for Mail

Source§

fn from(b: SmtpBuilder) -> Self

Converts to this type from the input type.
Source§

impl Plugin for Mail

Source§

fn id(&self) -> &'static str

Stable plugin identifier used for dependency checks and crate::App::has_plugin. Read more
Source§

fn meta(&self) -> PluginMeta

Display name, description, and declared PluginMeta::sdk version.
Source§

fn install(self, app: &mut App)

Register middleware, state, routes, and hooks on app.
Source§

fn requires(&self) -> &'static [&'static str]

Required plugin ids that must be installed beforehand. Read more

Auto Trait Implementations§

§

impl !RefUnwindSafe for Mail

§

impl !UnwindSafe for Mail

§

impl Freeze for Mail

§

impl Send for Mail

§

impl Sync for Mail

§

impl Unpin for Mail

§

impl UnsafeUnpin for Mail

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

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>,

Source§

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<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