#smtp #tokio #mail-server

已删除 tokio-smtp

为Tokio提供的SMTP库

使用旧的Rust 2015

0.3.0 2018年4月25日
0.2.0 2017年2月23日
0.1.0 2017年2月19日

#37 in #mail-server

MIT 许可证

57KB
1K SLoC

tokio-smtp

Crate Build Status

用于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