예제 #1
0
 private MailAddressCollection LoadTo()
 {
     foreach (Field field in m_Fields)
     {
         if (field.Name != null)
         {
             if (field.Name.ToLower().Equals("to"))
             {
                 IFieldParserProxy parser =
                     FieldParserProxy.Getinstance();
                 if (parser.AddrSpec.IsMatch(field.Body))
                 {
                     MailAddressCollection addresses = new MailAddressCollection();
                     MatchCollection       matches   =
                         parser.AddrSpec.Matches(field.Body);
                     foreach (Match match in matches)
                     {
                         addresses.Add(match.Value);
                     }
                     return(addresses);
                 }
             }
         }
     }
     return(null);
 }
예제 #2
0
 public MailReader()
 {
     m_Decoders = new List <RFC2045.IDecoder>();
     m_Decoders.Add(new QuotedPrintableDecoder());
     m_Decoders.Add(new Base64Decoder());
     m_FieldParser = FieldParserProxy.Getinstance();
     m_FieldParser.CompilePattern();
 }
예제 #3
0
 private MailAddress LoadFrom()
 {
     foreach (RFC822.Field field in m_Fields)
     {
         if (field.Name.ToLower().Equals("from"))
         {
             MailAddress address;
             try
             {
                 address = new MailAddress(field.Body);
             }
             catch (FormatException)
             {
                 string sAddress = FieldParserProxy.ParseAddress(field.Body);
                 address = new MailAddress(sAddress);
             }
             return(address);
         }
     }
     return(null);
 }