package letters

  1. Overview
  2. Docs
Client library for sending emails over SMTP

Install

Dune Dependency

Authors

Maintainers

Sources

letters-0.1.1.tbz
sha256=e514f9edf4018dbeb743155dd0399feba8920fac3c190c5cda8ec0fb52103c08
sha512=a479b992d76be6d0883562a6106f6aee926a64faad0930e89f9a0f800b6eb372a69180c5bddc6e035120fad183d7b247c37ab339afe44b3180db13d4d3c8560c

Description

Simple to use SMTP client implementation for OCaml

Published: 10 Jul 2020

README

✉ Letters ·

Letters is a library for creating and sending emails over SMTP using Lwt.

Setup

opam switch create . ocaml-base-compiler.4.08.1
opam install --deps-only -y . --with-test

Build

dune build

Run Tests

First create ethereal.email account and store account details

curl -d '{ "requestor": "letters", "version": "0.1.0" }' "https://api.nodemailer.com/user" -X POST -H "Content-Type: application/json" > ethereal_account.json

Currently using ethereal.email service requires non-released version of colombe and you need to check out the project, commit edf757c58fce58c170c63e8a92d3bc81fe4d32ff contains the needed fix. Then the version with the fix needs to be pinned in the build env:

cd /path/to/colombe
opam switch /path/to/letters
# Follow instructions to evaluate the environment
git switch --detach edf757c58fce58c170c63e8a92d3bc81fe4d32ff
opam pin .
# Finally, return back to letters project
cd /path/to/letters

Then execute the tests

dune test

And finally review that the email is correctly generated in the service:

  • login to https://ethereal.email/login using credentials from the ethereal_account.json

  • check the content of messages: https://ethereal.email/messages

Credits

This project is build on colombe and mrmime libraries and use facteur as starting point.

License

Copyright (c) 2020 Miko Nieminen

Distributed under the MIT License.

Dependencies (12)

  1. tls < "0.16.0"
  2. fpath >= "0.7.0"
  3. lwt >= "5.2.0"
  4. ptime >= "0.8.5"
  5. x509 >= "0.10.0"
  6. fmt >= "0.8.8"
  7. sendmail-lwt >= "0.3.0"
  8. colombe >= "0.3.0" & < "0.4.0"
  9. mrmime >= "0.3.0"
  10. emile < "1.0"
  11. dune >= "2.3"
  12. ocaml >= "4.08.1"

Dev Dependencies (3)

  1. yojson >= "1.7.0" & with-test
  2. alcotest-lwt >= "1.1.0" & with-test
  3. alcotest >= "1.1.0" & with-test

Used by (1)

  1. sihl < "0.1.0"

Conflicts

None