2 个版本
0.1.1 | 2020年10月29日 |
---|---|
0.1.0 | 2020年10月29日 |
#280 在 电子邮件
17KB
321 行
mailme
使用 Rust 实现的异步 POP3 客户端。
支持的方法
一些 POP3 服务器可能不支持以下方法列表
- 用户
- 密码
- 状态
- 列表(分为 list_one 和 list)
- 检索
- 删除
- 无操作
- 重置
- 退出
- 顶部
- uidl(分为 uidl_one 和 uidl)
- 能力
- apop
示例
将 tokio 和 mailme 添加到依赖项
tokio = { version = "0.3.1", features = ["io-util", "io-std", "net", "rt", "rt-multi-thread"] }
mailme = "0.1.1"
use pop3::POP3Client;
use tokio::runtime::Runtime;
fn main() {
let rt = Runtime::new().unwrap();
rt.block_on(async {
// if not tls connection, use new_basic instead
let mut client = POP3Client::new_tls("pop.qq.com", 995).await.unwrap();
// remember to read welcome message
println!("{:?}", client.read_welcome().await);
// login
println!("{:?}", client.user("PrivateRookie").await);
println!("{:?}", client.pass("踏遍青山人未老").await);
// do some thing
println!("{:?}", client.stat().await);
})
}
待办事项
- 实现 POP3 协议(✔️)
- pop3 retr 返回解析后的电子邮件
- 支持自定义 SSL 上下文
- 当 POP3 客户端断开连接时调用
quit
吗? - 实现 IMAP 协议
- 添加监控方法
参考
依赖项
~17MB
~384K SLoC