diff --git a/lettre/src/lib.rs b/lettre/src/lib.rs index 32d3318..3ca8173 100644 --- a/lettre/src/lib.rs +++ b/lettre/src/lib.rs @@ -52,11 +52,19 @@ pub struct EmailAddress(String); impl EmailAddress { pub fn new(address: String) -> EmailResult { - if !is_valid_email(&address) && !address.ends_with("localhost") { + if !EmailAddress::is_valid(&address) { Err(Error::InvalidEmailAddress)?; } Ok(EmailAddress(address)) } + + pub fn is_valid(addr: &str) -> bool { + is_valid_email(addr) || addr.ends_with("localhost") + } + + pub fn into_inner(self) -> String { + self.0 + } } impl FromStr for EmailAddress {