Module Async_smtp__.Client_raw

module Peer_info : sig ... end
type t
val create : ?⁠flows:Async_smtp__.Mail_log.Flows.t ‑> emulate_tls_for_test:bool ‑> dest:Async_smtp_types.Smtp_socket_address.t ‑> Async.Reader.t ‑> Async.Writer.t ‑> Async_smtp__.Client_config.t ‑> t
val create_bsmtp : ?⁠flows:Async_smtp__.Mail_log.Flows.t ‑> Async.Writer.t ‑> Async_smtp__.Client_config.t ‑> t
val config : t ‑> Async_smtp__.Client_config.t
val info : t ‑> Peer_info.t option
val is_using_tls : t ‑> bool
val with_session : t ‑> log:Async_smtp__.Mail_log.t ‑> component:Async_smtp__.Mail_log.Component.t ‑> credentials:Async_smtp__.Credentials.t ‑> f:(t ‑> 'a Async.Deferred.Or_error.t) ‑> 'a Async.Deferred.Or_error.t
val do_helo : t ‑> log:Async_smtp__.Mail_log.t ‑> component:Async_smtp__.Mail_log.Component.t ‑> unit Async.Deferred.Or_error.t
val send : t ‑> log:Async_smtp__.Mail_log.t ‑> ?⁠flows:Async_smtp__.Mail_log.Flows.t ‑> component:Async_smtp__.Mail_log.Component.t ‑> here:Lexing.position ‑> Async_smtp.Smtp_command.t ‑> unit Async.Deferred.Or_error.t
val receive : ?⁠on_eof:(?⁠partial:Async_smtp.Smtp_reply.partial ‑> unit ‑> Async_smtp.Smtp_reply.t Async.Deferred.Or_error.t) ‑> ?⁠timeout:Core.Time.Span.t ‑> ?⁠flows:Async_smtp__.Mail_log.Flows.t ‑> t ‑> log:Async_smtp__.Mail_log.t ‑> component:Async_smtp__.Mail_log.Component.t ‑> here:Lexing.position ‑> [ `Bsmtp | `Received of Async_smtp.Smtp_reply.t ] Async.Deferred.Or_error.t
val send_receive : ?⁠on_eof:(?⁠partial:Async_smtp.Smtp_reply.partial ‑> unit ‑> Async_smtp.Smtp_reply.t Async.Deferred.Or_error.t) ‑> ?⁠timeout:Core.Time.Span.t ‑> t ‑> log:Async_smtp__.Mail_log.t ‑> ?⁠flows:Async_smtp__.Mail_log.Flows.t ‑> component:Async_smtp__.Mail_log.Component.t ‑> here:Lexing.position ‑> Async_smtp.Smtp_command.t ‑> [ `Bsmtp | `Received of Async_smtp.Smtp_reply.t ] Async.Deferred.Or_error.t
val send_string : t ‑> log:Async_smtp__.Mail_log.t ‑> ?⁠flows:Async_smtp__.Mail_log.Flows.t ‑> component:Async_smtp__.Mail_log.Component.t ‑> here:Lexing.position ‑> string ‑> unit Async.Deferred.Or_error.t
val send_receive_string : ?⁠on_eof:(?⁠partial:Async_smtp.Smtp_reply.partial ‑> unit ‑> Async_smtp.Smtp_reply.t Async.Deferred.Or_error.t) ‑> ?⁠timeout:Core.Time.Span.t ‑> t ‑> log:Async_smtp__.Mail_log.t ‑> ?⁠flows:Async_smtp__.Mail_log.Flows.t ‑> component:Async_smtp__.Mail_log.Component.t ‑> here:Lexing.position ‑> string ‑> [ `Bsmtp | `Received of Async_smtp.Smtp_reply.t ] Async.Deferred.Or_error.t
val writer : t ‑> Async.Writer.t
val reader : t ‑> Async.Reader.t option
val remote_address : t ‑> Async_smtp_types.Smtp_socket_address.t option