1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
//! An RFC 5322 compliant email address parser. //! //! # Examples //! You can parse string for email address like this. //! ``` //! use email_address_parser::EmailAddress; //! //! let email = EmailAddress::parse("foo@bar.com", Some(true)).unwrap(); //! assert_eq!(email.get_local_part(), "foo"); //! assert_eq!(email.get_domain(), "bar.com"); //! ``` //! //! For an input string that is an invalid email address, it returns `None`. //! ``` //! use email_address_parser::EmailAddress; //! //! assert!(EmailAddress::parse("test@-iana.org", Some(true)).is_none()); //! ``` //! //! To parse an email address with obsolete parts (as per RFC 5322) in it, pass `None` as the second argument to have non-strict parsing. //! ``` //! use email_address_parser::EmailAddress; //! //! let email = EmailAddress::parse("\u{0d}\u{0a} \u{0d}\u{0a} test@iana.org", None); //! assert!(email.is_some()); //! ``` #[macro_use] extern crate pest_derive; mod email_address; #[doc(inline)] pub use self::email_address::EmailAddress;