Module Async_smtp__.Session

type t = {
remote : Async.Socket.Address.Inet.t;
local : Async.Socket.Address.Inet.t;
helo : string option;
tls : Async_ssl.Std.Ssl.Connection.t option;
authenticated : string option;
advertised_extensions : Async_smtp_types.Smtp_extension.t list;
}
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
val advertised_extensions : t -> Async_smtp_types.Smtp_extension.t list
val authenticated : t -> string option
val tls : t -> Async_ssl.Std.Ssl.Connection.t option
val helo : t -> string option
val local : t -> Async.Socket.Address.Inet.t
val remote : t -> Async.Socket.Address.Inet.t
module Fields : sig ... end
val create : remote:Async.Socket.Address.Inet.t -> local:Async.Socket.Address.Inet.t -> ?⁠helo:string -> ?⁠tls:Async_ssl.Std.Ssl.Connection.t -> ?⁠authenticated:string -> ?⁠advertised_extensions:Async_smtp_types.Smtp_extension.t list -> unit -> t
val cleanup : t -> unit Async.Deferred.Or_error.t