示例#1
0
 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;
 }
示例#2
0
        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;
        }