package sendmail

  1. Overview
  2. Docs
type helo = Colombe.Domain.t
type starttls = Colombe.Rfc1869.t
type quit = unit
type pp_220 = string list
type pp_250 = string list
type 'x t =
  1. | Helo : helo t
  2. | Starttls : starttls t
  3. | Quit : quit t
  4. | PP_220 : pp_220 t
  5. | PP_250 : pp_250 t
val pp : 'x. 'x t Fmt.t
val is_request : 'a t -> bool
type error =
  1. | Decoder of Colombe.Decoder.error
  2. | Encoder of Colombe.Encoder.error
  3. | Unexpected_request : 'x t * Colombe.Request.t -> error
  4. | Unexpected_reply : 'x t * Colombe.Reply.t -> error
  5. | Invalid_state
val pp_error : Format.formatter -> error -> unit
val uncast : 'o. 'o t -> 'o -> (Colombe.Request.t, Colombe.Reply.t) Colombe.Sigs.either
val encode : 'o. ('o t * 'o) -> (Colombe.State.ctx -> ('s, error) Colombe.State.process) -> Colombe.State.ctx -> ('s, error) Colombe.State.process
val cast : 'x. (Colombe.State.ctx -> 'x -> ('s, error) Colombe.State.process) -> Colombe.State.ctx -> 'x t -> [ `Data | `Data_end | `Expand of string | `Extension of Colombe.Rfc1869.t | `Hello of Colombe.Domain.t | `Help of string option | `Mail of Colombe.Reverse_path.t * (string * string option) list | `Noop of string option | `Other of int * string list | `PN_500 of string list | `PN_501 of string list | `PN_502 of string list | `PN_503 of string list | `PN_504 of string list | `PN_550 of string list | `PN_551 of string list | `PN_552 of string list | `PN_553 of string list | `PN_554 of string list | `PN_555 of string list | `PP_211 of string list | `PP_214 of string list | `PP_220 of string list | `PP_221 of string list | `PP_250 of string list | `PP_251 of string list | `PP_252 of string list | `Quit | `Recipient of Colombe.Forward_path.t * (string * string option) list | `Reset | `TN_421 of string list | `TN_450 of string list | `TN_451 of string list | `TN_452 of string list | `TN_455 of string list | `TP_354 of string list | `Verify of string ] -> ('s, error) Colombe.State.process
val encode_raw : (string * int * int) -> (Colombe.State.ctx -> int -> ('s, error) Colombe.State.process) -> Colombe.State.ctx -> ('s, error) Colombe.State.process
val decode_raw : (bytes * int * int) -> (Colombe.State.ctx -> int -> ('s, error) Colombe.State.process) -> Colombe.State.ctx -> ('s, error) Colombe.State.process
val decode : 'i. 'i t -> (Colombe.State.ctx -> 'i -> ('s, error) Colombe.State.process) -> Colombe.State.ctx -> ('s, error) Colombe.State.process