9 个版本 (5 个稳定版)

1.1.1 2023年10月28日
1.1.0 2023年10月24日
1.0.1 2023年9月10日
0.1.7 2023年7月25日
0.1.6 2023年4月19日

#73邮件

Download history · Rust 包仓库 64/week @ 2024-04-08 · Rust 包仓库 65/week @ 2024-04-15 · Rust 包仓库 82/week @ 2024-04-22 · Rust 包仓库 87/week @ 2024-04-29 · Rust 包仓库 63/week @ 2024-05-06 · Rust 包仓库 76/week @ 2024-05-13 · Rust 包仓库 39/week @ 2024-05-20 · Rust 包仓库 71/week @ 2024-05-27 · Rust 包仓库 89/week @ 2024-06-03 · Rust 包仓库 51/week @ 2024-06-10 · Rust 包仓库 47/week @ 2024-06-17 · Rust 包仓库 43/week @ 2024-06-24 · Rust 包仓库 48/week @ 2024-07-01 · Rust 包仓库 29/week @ 2024-07-08 · Rust 包仓库 47/week @ 2024-07-15 · Rust 包仓库 92/week @ 2024-07-22 · Rust 包仓库

每月219 次下载
2 个 crate 中使用

MIT 许可证

85KB
2K SLoC

Pop3 客户端

这是一个简单的 Pop3 客户端,根据 RFC 1939 实现了所有功能,用 Rust 编写。

它在 Dust-Mail 中用于连接到 Pop 服务器。

用法

您可以使用 connect 函数或 connect_plain 函数创建一个新的会话。

connect 需要来自 async-native-tls crate 的 TLS 连接器。未来将支持更多 TLS 选项。

如果您已经有一个连接的套接字,您也可以使用 new 函数创建一个新的会话。

示例

extern crate async_pop;
extern crate async_native_tls;
extern crate mailparse;

use async_native_tls::TlsConnector;
use mailparse::parse_mail;

#[tokio::main]
async fn main() {
    let tls = TlsConnector::new();

    let mut client = async_pop::connect(("pop.gmail.com", 995), "pop.gmail.com", &tls).await.unwrap();

    client.login("example@gmail.com", "password").await.unwrap();

    let bytes = client.retr(1).await.unwrap();

    let message = parse_mail(&bytes).unwrap();

    let subject = message.headers.get_first_value("Subject").unwrap();

    println!("{}", subject);

}

依赖项

~3–14MB
~209K SLoC