17 个版本 (5 个稳定版)
2.0.0 | 2023 年 5 月 31 日 |
---|---|
2.0.0-rc3 | 2022 年 12 月 26 日 |
2.0.0-rc2 | 2022 年 8 月 27 日 |
2.0.0-rc1 | 2021 年 10 月 11 日 |
0.3.0-rc2 | 2020 年 8 月 30 日 |
#54 in 邮件
8,424 每月下载量
在 24 个库中使用 (11 个直接使用)
27KB
353 代码行
email-address-parser
RFC 5322 和 RFC 6532 兼容的电子邮件地址解析器。
您可以使用以下方式解析电子邮件地址的字符串。
use email_address_parser::EmailAddress;
let email = EmailAddress::parse("[email protected]", Some(true)).unwrap();
assert_eq!(email.get_local_part(), "foo");
assert_eq!(email.get_domain(), "bar.com");
对于无效的电子邮件地址的输入字符串,它返回 None
。
use email_address_parser::EmailAddress;
assert!(EmailAddress::parse("[email protected]", Some(true)).is_none());
要解析包含过时部分的电子邮件地址(根据 RFC 5322),将 None
作为第二个参数传递以进行非严格解析。
let email = EmailAddress::parse("\u{0d}\u{0a} \u{0d}\u{0a} [email protected]", None);
assert!(email.is_some());
Unicode 支持
符合 RFC 6532,它支持解析、验证和实例化包含 Unicode 字符的电子邮件地址。
assert!(format!("{}", EmailAddress.new("foö", "bücher.de")) == "foö@bücher.de");
assert!(format!("{}", EmailAddress.parse("foö@bücher.de")) == "foö@bücher.de");
assert!(EmailAddress.isValid("foö@bücher.de"));
依赖关系
~2.2–3MB
~62K SLoC