From f066f35410cd631955cff4c5ae1ec49f9826bb36 Mon Sep 17 00:00:00 2001 From: Manos Pitsidianakis Date: Fri, 20 Sep 2019 10:48:27 +0300 Subject: melib: add get_tags to support subaddressing --- melib/src/email/address.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/melib/src/email/address.rs b/melib/src/email/address.rs index 789eec4e..dd771d92 100644 --- a/melib/src/email/address.rs +++ b/melib/src/email/address.rs @@ -65,6 +65,16 @@ impl Address { Address::Group(_) => None, } } + + pub fn get_tags(&self, separator: char) -> Vec { + let mut ret = Vec::new(); + if let email = self.get_email() { + let at_pos = email.as_bytes().iter().position(|&b| b == b'@').unwrap(); + let email: &str = email[..at_pos].into(); + ret.extend(email.split(separator).skip(1).map(str::to_string)); + } + ret + } } impl Eq for Address {} -- cgit v1.2.3