#mail-server #smtp-server #server #smtp

mailin-embedded

可嵌入其他程序的 SMTP 服务器

14 个版本 (7 个重大更新)

0.8.2 2024年2月10日
0.8.1 2023年5月20日
0.8.0 2023年4月13日
0.7.1 2022年6月6日
0.2.1 2018年12月28日

#44 in 电子邮件

Download history 95/week @ 2024-04-08 84/week @ 2024-04-15 118/week @ 2024-04-22 175/week @ 2024-04-29 104/week @ 2024-05-06 39/week @ 2024-05-13 72/week @ 2024-05-20 57/week @ 2024-05-27 85/week @ 2024-06-03 70/week @ 2024-06-10 67/week @ 2024-06-17 108/week @ 2024-06-24 48/week @ 2024-07-01 41/week @ 2024-07-08 76/week @ 2024-07-15 85/week @ 2024-07-22

每月下载 259 次
3 crates 中使用

MIT/Apache

86KB
2K SLoC

可嵌入其他程序的 SMTP 服务器

此库提供了一个简单的可嵌入 SMTP 服务器。服务器使用阻塞 I/O 和线程池。

示例

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

#[derive(Clone)]
struct MyHandler {}
impl Handler for MyHandler{}

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

server.with_name("example.com")
   .with_ssl(SslConfig::None)?
   .with_addr("127.0.0.1:25")?;
server.serve_forever();

SSL

mailin-embedded 库需要 SSL 实现。SSL 实现通过功能选择

使用 RustTLS(默认且推荐,迄今为止没有兼容性问题)

$ cargo build

使用 OpenSSL(带有 Mozilla modern

$ cargo build --features "ossl"

这两个库的 SSL 配置都非常严格,可能无法与某些旧版电子邮件服务器一起使用。然而,到目前为止,我只看到与垃圾邮件发送者的问题,而没有与真实电子邮件服务器的问题。

在 Cargo.toml 中使用

mailin-embedded = "^0"

依赖项

~1–10MB
~114K SLoC