Trait samotop_delivery::Transport[][src]

pub trait Transport: Debug {
    type DataStream: MailDataStream;
    fn send_stream<'s, 'a>(
        &'s self,
        envelope: Envelope
    ) -> SyncFuture<'a, Result<Self::DataStream, <Self::DataStream as MailDataStream>::Error>>
    where
        's: 'a
; fn send<'s, 'r, 'a, R>(
        &'s self,
        envelope: Envelope,
        message: R
    ) -> SyncFuture<'a, Result<<Self::DataStream as MailDataStream>::Output, <Self::DataStream as MailDataStream>::Error>>
    where
        Self::DataStream: Unpin + Send + Sync,
        <Self::DataStream as MailDataStream>::Error: From<Error>,
        R: Read + Unpin + Send + Sync + 'r,
        's: 'a,
        'r: 'a
, { ... } }

Transport method for emails

Associated Types

type DataStream: MailDataStream[src]

Result type for the transport

Loading content...

Required methods

fn send_stream<'s, 'a>(
    &'s self,
    envelope: Envelope
) -> SyncFuture<'a, Result<Self::DataStream, <Self::DataStream as MailDataStream>::Error>> where
    's: 'a, 
[src]

Start sending e-mail and return a stream to write the body to

Loading content...

Provided methods

fn send<'s, 'r, 'a, R>(
    &'s self,
    envelope: Envelope,
    message: R
) -> SyncFuture<'a, Result<<Self::DataStream as MailDataStream>::Output, <Self::DataStream as MailDataStream>::Error>> where
    Self::DataStream: Unpin + Send + Sync,
    <Self::DataStream as MailDataStream>::Error: From<Error>,
    R: Read + Unpin + Send + Sync + 'r,
    's: 'a,
    'r: 'a, 
[src]

Send the email

Loading content...

Implementors

impl Transport for samotop_delivery::dir::FileTransport[src]

type DataStream = MailFile

impl Transport for samotop_delivery::file::FileTransport[src]

type DataStream = FileStream

impl Transport for SendmailTransport[src]

type DataStream = ProcStream

impl Transport for StubTransport[src]

type DataStream = StubStream

impl<Conf: ConnectionConfiguration, Conn: Connector> Transport for SmtpTransport<Conf, Conn>[src]

type DataStream = SmtpDataStream<Conn::Stream>

Loading content...