use email_address_parser::{EmailAddress, ParsingOptions};
pub(crate) fn email_for_userid(userid: &str) -> Option<String> {
if let Some(e) = EmailAddress::parse(userid, Some(ParsingOptions::new(true))) {
return Some(e.to_string());
}
let start = userid.find('<');
let end = userid.find('>');
if let (Some(start), Some(end)) = (start, end) {
if end > start + 1 {
if let Some(e) =
EmailAddress::parse(&userid[start + 1..end], Some(ParsingOptions::new(true)))
{
return Some(e.to_string());
}
}
}
None
}