Up

Module Raw = Client_raw

Signature

module Peer_info : sig .. end
type t
val create_bsmtp : ?flows:Mail_log.Flows.t -> Async.Std.Writer.t -> Client_config.t -> t
val config : t -> Client_config.t
val info : t -> Peer_info.t option
val is_using_tls : t -> bool
val with_session : t -> log:Mail_log.t -> component:Mail_log.Component.t -> f:(t -> 'a Async.Std.Deferred.Or_error.t) -> 'a Async.Std.Deferred.Or_error.t
val do_helo : t -> log:Mail_log.t -> component:Mail_log.Component.t -> unit Async.Std.Deferred.Or_error.t
val send : t -> log:Mail_log.t -> ?flows:Mail_log.Flows.t -> component:Mail_log.Component.t -> here:Lexing.position -> Types.Command.t -> unit Async.Std.Deferred.Or_error.t
val receive : ?timeout:Core.Std.Time.Span.t -> ?flows:Mail_log.Flows.t -> t -> log:Mail_log.t -> component:Mail_log.Component.t -> here:Lexing.position -> [
| `Bsmtp
| `Received of Types.Reply.t
] Async.Std.Deferred.Or_error.t
val send_receive : ?timeout:Core.Std.Time.Span.t -> t -> log:Mail_log.t -> ?flows:Mail_log.Flows.t -> component:Mail_log.Component.t -> here:Lexing.position -> Types.Command.t -> [
| `Bsmtp
| `Received of Types.Reply.t
] Async.Std.Deferred.Or_error.t
val writer : t -> Async.Std.Writer.t
val reader : t -> Async.Std.Reader.t option