letters
letters copied to clipboard
Letters is an OCaml library for creating and sending emails over SMTP using LWT
https://github.com/oxidizing/letters/issues/46
The current GitHub workflow [runs `make test`](https://github.com/oxidizing/letters/blob/master/.github/workflows/ci.yml#L48) which does not exist, only `make test-all`. Either create a target for only unit tests or change the CI to use the `test-all`...
Test ```ocaml let ethereal_conf_with_single_ca_cert = (* Use PEM file containing correct chain *) Config.set_ca_cert "../../../ethereal-email-chain.pem" ethereal_conf_with_ca_detect in ... ; Alcotest_lwt.test_case "Send plain text email, use specific CA cert file" `Slow...
When trying to run `service-tests` against mailtrap, we receive: ``` [failure] Sending email failed, TLS failure: PROTOCOL_VERSION ```
Currently our tests are pretty much about running against 3rd-party service or validating outputs manually. This is far from desired and we should at assert/validate the expectation tests.
Pull request #22 adds documentations about the use of this library into README.md, but we should have it also in our API documentation since that gets linked in the package...
Currently we mostly call `failwith` with a message. Instead the library should use more specific exception types to indicate what kind of failure is in the question.
Create message abstraction that allows us to abstract how message is actually created and how send function reads the message data. This way we won't have to expose `mrmime` types...
The code uses syntax like `let (let*) = Lwt.bind in` that is supported OCaml 4.08.1 onward. Luckily `dune` has preprosessing support to enable this syntax with older compilers and we...