Module Async_smtp.Smtp_reply

type t = private {
code : [ `Service_ready_220 | `Closing_connection_221 | `Authentication_successful_235 | `Ok_completed_250 | `Start_authentication_input_334 | `Start_mail_input_354 | `Service_unavailable_421 | `Local_error_451 | `Message_rate_exceeded_452 | `Tls_temporarily_unavailable_454 | `Unable_to_accommodate_455 | `Command_not_recognized_500 | `Syntax_error_501 | `Command_not_implemented_502 | `Bad_sequence_of_commands_503 | `Parameter_not_implemented_504 | `Authentication_required_530 | `Authentication_credentials_invalid_535 | `Mailbox_unavailable_550 | `Exceeded_storage_allocation_552 | `Transaction_failed_554 | `From_to_parameters_bad_555 | `Other of int ];
raw_message : string list;
}
include Bin_prot.Binable.S with type t := t
type t
include Bin_prot.Binable.S_only_functions with type t := t
type t
val bin_size_t : t Bin_prot.Size.sizer
val bin_write_t : t Bin_prot.Write.writer
val bin_read_t : t Bin_prot.Read.reader
val __bin_read_t__ : (int -> t) Bin_prot.Read.reader

This function only needs implementation if t exposed to be a polymorphic variant. Despite what the type reads, this does *not* produce a function after reading; instead it takes the constructor tag (int) before reading and reads the rest of the variant t afterwards.

val bin_shape_t : Bin_prot.Shape.t
val bin_writer_t : t Bin_prot.Type_class.writer
val bin_reader_t : t Bin_prot.Type_class.reader
val bin_t : t Bin_prot.Type_class.t
include Ppx_sexp_conv_lib.Sexpable.S with type t := t
type t
val t_of_sexp : Sexplib0.Sexp.t -> t
val sexp_of_t : t -> Sexplib0.Sexp.t
val code : t -> int
val service_ready_220 : string -> t
val closing_connection_221 : t
val authentication_successful_235 : t
val ok_completed_250 : string -> t
val start_authentication_input_334 : string -> t
val start_mail_input_354 : t
val service_unavailable_421 : t
val data_timeout_421 : t
val command_timeout_421 : t
val local_error_451 : string -> t
val message_rate_exceeded_452 : t
val unable_to_accommodate_455 : string -> t
val command_not_recognized_500 : string -> t
val syntax_error_501 : string -> t
val command_not_implemented_502 : Smtp_command.t -> t
val bad_sequence_of_commands_503 : Smtp_command.t -> t
val authentication_required_530 : t
val authentication_credentials_invalid_535 : t
val mailbox_unavailable_550 : string -> t
val exceeded_storage_allocation_552 : t
val transaction_failed_554 : string -> t
val from_to_parameters_bad_555 : string -> t
val is_ok : t -> bool
val is_permanent_error : t -> bool
val decorate : t -> additional_lines:string list -> t
val to_string : t -> string
val of_string : string -> t
val of_bigstring : Core.Bigstring.t -> t
type partial
val parse : ?⁠partial:partial -> string -> [ `Done of t | `Partial of partial ]