package sendmail

  1. Overview
  2. Docs
Implementation of the sendmail command

Install

Dune Dependency

Authors

Maintainers

Sources

colombe-v0.2.0.tbz
sha256=12c2736f0e1a6e001a47e2b39907bc1f6ddb18718f2c341dcd10b19554706ead
sha512=09e19eff4a016f7735b35f2298f0557be38ee00b24b5bbf102b3c66c3b783ea5190e55ed2da3300fb8c05f445a832f1482fdea84ec35b78b238e771e5e377fd7

doc/sendmail/Sendmail/index.html

Module SendmailSource

Sourcetype reverse_path = Colombe.Reverse_path.t
Sourcetype forward_path = Colombe.Forward_path.t
Sourcetype mechanism =
  1. | PLAIN
Sourcetype authentication = {
  1. username : string;
  2. password : string;
  3. mechanism : mechanism;
}
Sourcetype ('a, 's) stream = unit -> ('a option, 's) Colombe.Sigs.io
Sourcetype error = [
  1. | `Protocol of [ Colombe.Request.Encoder.error | Colombe.Reply.Decoder.error | `Unexpected_response of int * string list ]
  2. | `Unsupported_mechanism
  3. | `Encryption_required
  4. | `Weak_mechanism
  5. | `Authentication_rejected
  6. | `Authentication_failed
  7. | `Authentication_required
]
Sourceval pp_error : error Fmt.t
Sourceval 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 syscall
  • flow witness of the flow (can be a socket)
  • ctx context used by the process
  • authentication authentication information used by the process
  • sender sender of the mail
  • recipients recipients of the mail
  • mail stream of the mail

This process try to send a mail according RFC4409. The process should be wrapped into a secured flow (like TLS).

OCaml

Innovation. Community. Security.