A SMTP server that can be embedded into another program

This library provides a simple embeddable SMTP server. The server uses blocking IO and a threadpool.

Examples

```rust use mailin_embedded::{Server, SslConfig, Handler};

[derive(Clone)]

struct MyHandler {} impl Handler for MyHandler{}

let handler = MyHandler {}; let mut server = Server::new(handler);

server.withname("example.com") .withssl(SslConfig::None)? .withaddr("127.0.0.1:25")?; server.serveforever(); ```

SSL

The mailin-embedded library requires an SSL implementation. The SSL implementation is selected with a feature:

Using RustTLS (recommended, so far no compatibility problems):

$ cargo build --features "rtls"

Using OpenSSL (with Mozilla modern):

$ cargo build --features "ossl"

The SSL configuration for both of these libraries is quite strict and might not work with some older Email servers. However, until now, I have only seen problems with spammers and no problems with real email servers.

Using in Cargo.toml

mailin-embedded = { version="^0" features=["rtls"] }