Sendmailtype helo = Colombe.Domain.ttype mail_from = Colombe.Reverse_path.t * (string * string option) listtype rcpt_to = Colombe.Forward_path.t * (string * string option) listtype auth = Colombe.Rfc1869.ttype 'x protocol = | Helo : helo protocol| Mail_from : mail_from protocol| Rcpt_to : rcpt_to protocol| Data : unit protocol| Dot : unit protocol| Quit : unit protocol| Auth : auth protocol| PP_220 : pp_220 protocol| PP_221 : pp_221 protocol| PP_235 : pp_235 protocol| PP_250 : pp_250 protocol| TP_354 : tp_354 protocol| TP_334 : tp_334 protocol| PN_501 : pn_501 protocol| PN_530 : pn_530 protocol| PN_550 : pn_550 protocol| PN_554 : pn_554 protocolmodule Send_mail_p : Colombe.State.PROTOCOL with type 'x t = 'x protocolmodule Send_mail_s : sig ... endmodule State : sig ... endtype error = Send_mail_p.errorval pp_error : error Fmt.ttype 'x state = 'x Send_mail_s.ttype 'x t = 'x State.tval make_state :
?logger:(module Logs.LOG) ->
?encoding:Mime.encoding ->
domain:Colombe.Domain.t ->
from:Colombe.Reverse_path.t ->
recipients:Colombe.Forward_path.t list ->
Auth.authenticator option ->
(string * int * int) stream ->
'x stateval run :
's Colombe.Sigs.impl ->
('flow, 's) Colombe.Sigs.rdwr ->
'flow ->
'x t ->
Colombe.State.ctx ->
(('x state, error) result, 's) Colombe.Sigs.io