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