使用旧的Rust 2015
0.3.0 |
|
---|---|
0.2.0 |
|
0.1.0 |
|
#37 in #mail-server
57KB
1K SLoC
tokio-smtp
用于Rust和Tokio的SMTP实现。
lib.rs
:
为Tokio提供的SMTP库。
顶层模块导出通过Mailer
类型的基本接口以发送邮件。此接口可能足够用于只需要将邮件交付给受信任的本地邮件服务器或远程邮件服务的常见用例。
在tokio-proto之上提供了一种低级客户端实现,可在客户端模块中找到。服务器端尚未实现。
示例
extern crate tokio_core;
extern crate tokio_smtp;
use tokio_core::reactor::{Core};
use tokio_smtp::{Mailer};
// In this example, we grab the mail body from a fixture.
const TEST_EML: &'static str = include_str!("fixtures/test.eml");
fn main() {
// Create the event loop that will drive this server.
let mut core = Core::new().unwrap();
let handle = core.handle();
// Create a mailer that delivers to `localhost:25`.
let mailer = Mailer::local();
// Send an email. The `send` method returns an empty future (`()`).
let return_path = "[email protected]".parse().unwrap();
let recipient = "[email protected]".parse().unwrap();
let body = TEST_EML.to_string();
let f = mailer.send(return_path, vec![recipient], body, &handle);
// Start the client on the event loop.
core.run(f).unwrap();
}
依赖关系
~7–15MB
~161K SLoC