private string GetSAddress(Field field) { string sAddress = string.Empty; IPattern addrSpecPattern = PatternFactory.GetInstance().Get(typeof (RFC822.Pattern.AddrSpecPattern)); if(addrSpecPattern.RegularExpression.IsMatch(field.Body)) { sAddress = addrSpecPattern.RegularExpression.Match(field.Body).Value; } return sAddress; }
public static MailAddressCollection GetAddresses(Field field) { IPattern addrSpecPattern = PatternFactory.GetInstance().Get(typeof (RFC822.Pattern.AddrSpecPattern)); MailAddressCollection addresses = null; if(addrSpecPattern.RegularExpression.IsMatch(field.Body)) { //TODO: Make supprt for multiple addresses with names addresses = new MailAddressCollection(); try { MailAddress address = new MailAddress(field.Body); addresses.Add(address); } catch(FormatException) { MatchCollection matches = addrSpecPattern.RegularExpression.Matches(field.Body); foreach (Match match in matches) { addresses.Add(match.Value); } } } return addresses; }