Module Async_smtp__Client
SMTP client API. Includes TLS support: http://tools.ietf.org/html/rfc3207
Client.t should only be used in the callback of Tcp.with_
. The behaviour outside of this functions is undefined, though its safe to assume that nothing good will come of such misuse.
Several of the with functions also change the underlying Readers/Writers in a non-revertable way. In general if a reader/writer are passed to a function, ownership is also transferred; similarly if an smtp client is passed to a with* function it should not be used thereafter.
This client logs aggressively; while this produces a lot of garbage it is extremely helpful when debugging issues down the line. The client includes a session_id
that can be set when creating the client. The session_id
is extended with additional information about the client state.
See Client_raw
if you need a lower-level interface.
module Peer_info : sig ... end
type t
= Async_smtp__.Client_raw.t
val is_using_tls : t -> bool
module Envelope_status : sig ... end
val send_envelope : t -> log:Async_smtp__.Mail_log.t -> ?flows:Async_smtp__.Mail_log.Flows.t -> ?component:Async_smtp__.Mail_log.Component.t -> Async_smtp_types.Smtp_envelope.t -> Envelope_status.t Async.Deferred.Or_error.t
Perform all required commands to send an SMTP evelope
module Tcp : sig ... end
Standard SMTP over tcp
module Expert : sig ... end
module For_test : sig ... end
module Bsmtp : sig ... end
BSMTP writing