= 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
module Context_with_tls : sig ... end
module type VALUE = sig ... end
module Value : sig ... end
module type S = sig ... end
module Make_with_tls
(Value : VALUE) :
S
with type 'x send = 'x Value.send
and type 'x recv = 'x Value.recv
and type Value.error = Value.error
and type encoder = Context_with_tls.encoder
and type decoder = Context_with_tls.decoder
type domain = Colombe.Domain.t
type reverse_path = Colombe.Reverse_path.t
type forward_path = Colombe.Forward_path.t
type mechanism = Sendmail.mechanism
type authentication = Sendmail.authentication
type ('a, 's) stream = ('a, 's) Sendmail.stream
type error = [
|
`Tls of [ `Protocol of Value.error | `Tls_alert of Tls.Packet.alert_type | `Tls_failure of Tls.Engine.failure | `Tls_closed ]
|
`Protocol of [ `Protocol of Value.error | `Tls_alert of Tls.Packet.alert_type | `Tls_failure of Tls.Engine.failure | `Tls_closed ]
|
`Unsupported_mechanism
|
`Encryption_required
|
`Weak_mechanism
|
`Authentication_rejected
|
`Authentication_failed
|
`Authentication_required
]
val sendmail :
's Colombe.Sigs.impl ->
('flow, 's) Colombe.Sigs.rdwr ->
'flow ->
Context_with_tls.t ->
Tls.Config.client ->
?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 tls_config ?authentication ~domain sender
recipients mail
where:
impl
is the scheduler (unix, lwt or async)rdwr
read/write syscallflow
witness of the flow (can be a socket)ctx
context used by the processtls_config
TLS configuration used by STARTTLSauthentication
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
. It ensures to use STARTTLS
(eg. RFC3207
) while the process according TLS configuration tls_config
. If authentication
is given, it does the authentication only while TLS flow. Mail is sended only while TLS flow.
The stream mail
must respects same assumptions as Sendmail_lwt
.sendmail.