package sendmail

  1. Overview
  2. Docs
type helo = Colombe.Domain.t
type mail_from = Colombe.Reverse_path.t * (string * string option) list
type rcpt_to = Colombe.Forward_path.t * (string * string option) list
type pp_220 = string list
type pp_221 = string list
type pp_235 = string list
type pp_250 = string list
type tp_354 = string list
type tp_334 = string list
type pn_501 = string list
type pn_530 = string list
type pn_550 = string list
type pn_554 = string list
type auth = Colombe.Rfc1869.t
type 'x protocol =
  1. | Helo : helo protocol
  2. | Mail_from : mail_from protocol
  3. | Rcpt_to : rcpt_to protocol
  4. | Data : unit protocol
  5. | Dot : unit protocol
  6. | Quit : unit protocol
  7. | Auth : auth protocol
  8. | PP_220 : pp_220 protocol
  9. | PP_221 : pp_221 protocol
  10. | PP_235 : pp_235 protocol
  11. | PP_250 : pp_250 protocol
  12. | TP_354 : tp_354 protocol
  13. | TP_334 : tp_334 protocol
  14. | PN_501 : pn_501 protocol
  15. | PN_530 : pn_530 protocol
  16. | PN_550 : pn_550 protocol
  17. | PN_554 : pn_554 protocol
module Send_mail_p : Colombe.State.PROTOCOL with type 'x t = 'x protocol
module Send_mail_s : sig ... end
module State : sig ... end
type error = Send_mail_p.error
val pp_error : error Fmt.t
type 'a stream = unit -> 'a option
type 'x state = 'x Send_mail_s.t
type 'x t = 'x State.t
val 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 state
val make : 'x state -> 'x t
val run : 's Colombe.Sigs.impl -> ('flow, 's) Colombe.Sigs.rdwr -> 'flow -> 'x t -> Colombe.State.ctx -> (('x state, error) result, 's) Colombe.Sigs.io