8 个版本 (4 个破坏性更新)
使用旧的 Rust 2015
0.4.0 | 2016 年 12 月 7 日 |
---|---|
0.3.1 | 2016 年 10 月 17 日 |
0.3.0 | 2016 年 6 月 2 日 |
0.2.1 | 2015 年 10 月 6 日 |
0.0.1 | 2014 年 11 月 20 日 |
#243 in 电子邮件
每月 294 次下载
用于 tokio-smtp
6KB
97 行
Rust 的电子邮件地址类型
此 crate 实现了 Rust 的电子邮件地址解析,以及一个 EmailAddress
类型,这样您就可以停止字符串类型的电子邮件地址。
use emailaddress::EmailAddress;
fn main() {
let email = EmailAddress::new("[email protected]").unwrap();
assert_eq!(&email.local, "someone");
assert_eq!(&email.domain, "example.com");
}
// or with from_str:
use emailaddress::EmailAddress;
fn main() {
let email = from_str::<EmailAddress>("[email protected]").unwrap();
assert_eq!(
email,
EmailAddress {
local: "someone".to_string(),
domain: "example.com".to_string()
}
);
}
解析
有(呃..."将要有")3 种不同的解析算法。"简单"、"rfc5322" 和 "rfc6531"。目前只有 "简单" 完全实现。
简单解析
"简单" 解析算法是这样的
- 取 '@' 符号的最后出现位置
- 它右边的所有内容是域名部分
- 它左边的所有内容是本地部分
"WHAT??!!"
是的,就是这样。这并不真的是一个解析器。也不是什么算法。但关于为什么你想使用它的原因,请参阅 http://girders.org/blog/2013/01/31/dont-rfc-validate-email-addresses/ 或在 google/duckduckgo/startpage 中搜索 "电子邮件地址 RFC"。
依赖关系
~0–275KB