6 个版本 (破坏性更新)
0.5.0 | 2020 年 1 月 3 日 |
---|---|
0.5.0-alpha.1 | 2019 年 11 月 7 日 |
0.4.0 | 2018 年 11 月 6 日 |
0.3.0 | 2017 年 7 月 23 日 |
0.1.0 | 2017 年 6 月 10 日 |
#226 in 电子邮件
每月 22 次下载
200KB
5K SLoC
imap-proto 和 tokio-imap
欢迎所有反馈。请随意提交错误报告、文档请求和其他反馈至 问题跟踪器 或 发推给我。
tokio-imap 和 imap-proto 由 Dirkjan Ochtman 创建并维护。如果您能支持持续维护和进一步开发,或者打算在盈利环境中使用它,请考虑支持我在 Patreon 上的开源工作。
tokio-imap:基于 futures 的 IMAP 客户端
一个基于 Tokio 栈,完全异步的 IMAP 库,重点遵循相关规范,主要是 IMAP4rev1,但有限地支持 条件存储 扩展。类型系统用于在可能的情况下帮助确保正确性。到目前为止,只有客户端代码和大量基础设施,据称可以共享——还没有服务器。(如果您需要一个基于 tokio 的服务器,请查看 IMAPServer。)
功能亮点
- 使用 tokio-core 和 tokio-io 实现完全异步
- 使用类型系统帮助确保按照规范的正确操作
- nom 基于的解析器(在 imap-proto 中),到目前为止仅用于服务器响应消息
局限性
- alpha 级别实现——尚未进行测试,协议覆盖范围有限
- 在此阶段完全未实现服务器
如何开始
例如,查看 mailsync crate 的用法。
imap-proto:IMAP 类型和服务端协议解析器
imap-proto 是一个低级 IMAP 协议支持 crate,使用类型系统提供安全的 API。它从 tokio-imap 中提取到一个单独的 crate,以便不同的协议实现可以将其作为通用基础设施共享(如 rust-imap 贡献者所提议的)。代码试图尽可能紧密地遵循 IMAP4rev1 RFC,以及扩展。
协议支持在三个部分中实现
- 尝试尽可能紧密反映规范要求的类型
- 帮助消耗协议消息的解析器实现
- 帮助生成协议消息的构建器类型
进度
- 客户端
- 解析器:实现了许多常见的服务器响应
- 类型:实现了大多数常见类型
- 消息构建器:实现了大多数常见命令
- 服务器
- 解析器:未启动
- 类型:未启动
- 消息构建器:未启动
依赖项
~15MB
~350K SLoC