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

使用旧的 Rust 2015

0.8.1 2022年7月27日
0.8.0 2020年2月16日
0.7.0 2019年3月29日
0.6.0 2017年10月13日
0.2.0 2016年11月28日

#85电子邮件 类别中

Download history 53/week @ 2024-03-12 29/week @ 2024-03-19 34/week @ 2024-03-26 68/week @ 2024-04-02 22/week @ 2024-04-09 18/week @ 2024-04-16 41/week @ 2024-04-23 18/week @ 2024-04-30 23/week @ 2024-05-07 38/week @ 2024-05-14 32/week @ 2024-05-21 30/week @ 2024-05-28 26/week @ 2024-06-04 24/week @ 2024-06-11 26/week @ 2024-06-18 20/week @ 2024-06-25

每月103次下载
6 个 crate 中使用 (3 个直接使用)

MIT/Apache

170KB
4.5K SLoC

email-format

"互联网消息格式"精心实现,用于电子邮件构建和验证,如 RFC 5322 和其他 RFC 中定义。

文档(已发布)

文档(master)

功能

  • 解析 字节到 Email 结构(内部表示为树)并验证 RFC 5322 "互联网消息格式" 符合性。
    • 广泛的 RFC 5322 解析器/验证器:如果您使用此 crate 生成电子邮件,则保证该电子邮件将是有效的 RFC 5322 格式,否则您将获得 ParseError。我目前所知的一个例外是行可以超过 998 个字符(见问题 #3)。
  • Email 结构流回字节。
  • 使用set_subject()get_from()clear_reply_to()add_optional_field() 等函数 生成和修改 Email 结构。
  • lettre(启用可选功能 lettre)和 mailstrom 集成
  • 支持 chrono DateTimetime Tm 用于设置 Date 字段(启用可选功能 chrono 和/或 time

局限性

  • 有效的电子邮件是 7 位 ASCII,此 crate 要求所有内容都是 7 位 ASCII。发送更丰富内容的正确方法是使用传输编码,并设置 content-transfer-encoding 头。我们尚未提供这方面的任何帮助,除了添加 OptionalField() 的能力。您将不得不自己管理编码。我们计划最终添加便利函数(见问题 #19)。
  • 解析器不支持过时的电子邮件格式。因此,如果您需要识别2008年之前就已被废弃的格式,仅解析传入的电子邮件是不够的。

计划(尚未实现)

历史

本项目受到早期email crate的启发,但由于设计、实现和接口存在许多重大差异,因此从头开始进行了重构。

许可

许可方式如下

由您选择。

贡献

除非您明确说明,否则根据Apache-2.0许可定义的任何有意提交以包含在您的工作中的贡献,都将如上双重许可,没有任何额外的条款或条件。

依赖

~0–0.9MB
~13K SLoC