async-smtp

Async implementation of SMTP


Crates.io version Download docs.rs docs CI status

API Docs | Releases


Based on the great lettre library.

Example

```rust pub type Error = Box; pub type Result = std::result::Result;

use async_smtp::{Envelope, SendableEmail, SmtpClient, SmtpTransport};

async fn smtptransportsimple() -> Result<()> { let stream = TcpStream::connect("127.0.0.1:2525").await?; let client = SmtpClient::new(); let mut transport = SmtpTransport::new(client, stream).await?;

let email = SendableEmail::new(
    Envelope::new(
        Some("user@localhost".parse().unwrap()),
        vec!["root@localhost".parse().unwrap()],
    )?,
    "Hello world",
);
transport.send(email).await?;

Ok(())

} ```

License

Licensed under either of * Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0) * MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT) at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.