module Callbacks = Server_callbacks
val start : config:Server_config.t ‑> log:Mail_log.t ‑> (module Server_callbacks.S) ‑> t Async.Deferred.Or_error.t
val config : t ‑> Server_config.t
val close : ?timeout:unit Async.Deferred.t ‑> t ‑> unit Async.Deferred.Or_error.t
val read_bsmtp : ?log:Mail_log.t ‑> Async.Reader.t ‑> Types.Envelope.t Core.Or_error.t Async.Pipe.Reader.t
val read_mbox : ?log:Mail_log.t ‑> Async.Reader.t ‑> Types.Envelope.t Core.Or_error.t Async.Pipe.Reader.t
val ports : t ‑> int list