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 ... endtype t= Async_smtp__.Client_raw.t
val is_using_tls : t -> bool
module Envelope_status : sig ... endval 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.tPerform all required commands to send an SMTP evelope
module Tcp : sig ... endStandard SMTP over tcp
module Expert : sig ... endmodule For_test : sig ... endmodule Bsmtp : sig ... endBSMTP writing