Crate email_address_list
source ·Expand description
Relatively näive Pest based parser, picking out “contacts”
from email address lists found in headers such as from
, to
, cc
, etc.
This library aims to be practical rather than “correct”. It is (potentially excessively) permissive to parse even the worst garbage in anyone’s inbox. Limited testing with real world data has been, but the grammar that forms the basis for this library probably still needs work to catch more edge cases.
Example
use email_address_list::*;
let manual: AddressList = vec![
Contact::new("ríomhphost@example.org").set_name("Túsainm Sloinne"),
Contact::new("sampla@example.org")
].into();
let result = parse_address_list(
"Túsainm Sloinne <ríomhphost@example.org>, sampla@example.org"
).unwrap();
assert!(result.deep_eq(&manual));
Modules
Structs
A contact with at least an email address
A string that we couldn’t parse into an
EmailContact
but implements
the Contactish
trait regardlessEnums
All forms which email headers like
To
, From
, Cc
, etc. can takeEither an
EmailContact
we could successfully parse or a
GarbageContact
we didn’t want to throw awayTraits
Unified interface for all contact types
Check if all fields are the same rather than just a subset (“deep equals”)
Functions
Get an
AddressList
from a stringParse only a single
Contact
, ignore the rest