#解析器 #地址

emailaddress

简单的电子邮件地址类型和解析器

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 电子邮件

Download history 16/week @ 2024-02-20 7/week @ 2024-02-27 1/week @ 2024-03-05 25/week @ 2024-03-12 5/week @ 2024-03-26 30/week @ 2024-04-02 1/week @ 2024-04-16 6/week @ 2024-04-23

每月 294 次下载
用于 tokio-smtp

MIT 许可证

6KB
97

Rust 的电子邮件地址类型

Build Status

此 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