90 lines
2.6 KiB
Markdown
90 lines
2.6 KiB
Markdown
# lettre
|
|
|
|
[](https://travis-ci.org/lettre/lettre)
|
|
[](https://ci.appveyor.com/project/amousset/lettre/branch/master)
|
|
[](https://crates.io/crates/lettre)
|
|
[](https://docs.rs/lettre/)
|
|
[](./LICENSE)
|
|
[](https://gitter.im/lettre/lettre?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
|
|
|
An email library written in Rust.
|
|
|
|
## Features
|
|
|
|
Lettre provides the following features:
|
|
|
|
* Multiple transport methods
|
|
* Unicode support (for email content and addresses)
|
|
* Secure delivery with SMTP using encryption and authentication
|
|
* Easy email builders
|
|
|
|
## Example
|
|
|
|
```rust,no_run
|
|
extern crate lettre;
|
|
extern crate lettre_email;
|
|
extern crate mime;
|
|
|
|
use lettre::{EmailTransport, SmtpTransport};
|
|
use lettre_email::EmailBuilder;
|
|
use std::path::Path;
|
|
|
|
fn main() {
|
|
let email = EmailBuilder::new()
|
|
// Addresses can be specified by the tuple (email, alias)
|
|
.to(("user@example.org", "Firstname Lastname"))
|
|
// ... or by an address only
|
|
.from("user@example.com")
|
|
.subject("Hi, Hello world")
|
|
.text("Hello world.")
|
|
.attachment(Path::new("Cargo.toml"), None, &mime::TEXT_PLAIN).unwrap()
|
|
.build()
|
|
.unwrap();
|
|
|
|
// Open a local connection on port 25
|
|
let mut mailer = SmtpTransport::builder_unencrypted_localhost().unwrap()
|
|
.build();
|
|
// Send the email
|
|
let result = mailer.send(&email);
|
|
|
|
if result.is_ok() {
|
|
println!("Email sent");
|
|
} else {
|
|
println!("Could not send email: {:?}", result);
|
|
}
|
|
|
|
assert!(result.is_ok());
|
|
}
|
|
```
|
|
|
|
## Documentation
|
|
|
|
* [User documentation](http://docs.lettre.at/)
|
|
* [API reference](https://docs.rs/lettre/)
|
|
|
|
## Install
|
|
|
|
This library requires rust 1.18 or newer.
|
|
To use this library, add the following to your `Cargo.toml`:
|
|
|
|
```toml
|
|
[dependencies]
|
|
lettre = "0.8"
|
|
lettre_email = "0.8"
|
|
```
|
|
|
|
## Testing
|
|
|
|
The `lettre` tests require an open mail server listening locally on port 2525 and the `sendmail` command.
|
|
|
|
## Code of conduct
|
|
|
|
Anyone who interacts with Lettre in any space, including but not limited to
|
|
this GitHub repository, must follow our [code of conduct](https://github.com/lettre/lettre/blob/master/CODE_OF_CONDUCT.md).
|
|
|
|
## License
|
|
|
|
This program is distributed under the terms of the MIT license.
|
|
|
|
See [LICENSE](./LICENSE) for details.
|