= 1024" x-on:close-sidebar="sidebar=window.innerWidth >= 1024 && true">
Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
type domain = Colombe.Domain.t
type reverse_path = Colombe.Reverse_path.t
type forward_path = Colombe.Forward_path.t
type ('a, 's) stream = unit -> ('a option, 's) Colombe.Sigs.io
type error = [
|
`Protocol of [ Colombe.Request.Encoder.error | Colombe.Reply.Decoder.error | `Unexpected_response of int * string list ]
|
`Unsupported_mechanism
|
`Encryption_required
|
`Weak_mechanism
|
`Authentication_rejected
|
`Authentication_failed
|
`Authentication_required
]
val sendmail :
's Colombe.Sigs.impl ->
('flow, 's) Colombe.Sigs.rdwr ->
'flow ->
Colombe.State.Context.t ->
?authentication:authentication ->
domain:Colombe.Domain.t ->
reverse_path ->
forward_path list ->
(string * int * int, 's) stream ->
((unit, error) result, 's) Colombe.Sigs.io
sendmail impl rdwr flow ctx ?authentication ~domain sender recipients mail
where:
impl
is the scheduler (unix, lwt or async)rdwr
read/write syscallsflow
witness of the flow (can be a socket)ctx
context used by the processauthentication
authentication information used by the processsender
sender of the mailrecipients
recipients of the mailmail
stream of the mail
This process try to send a mail according RFC4409
. The process should be wrapped into a secured flow (like TLS). For a real use-case of sendmail
, you should look into sendmail-lwt
which takes care about the TLS layer.