2011-07-22 42 views
0

我想与添加MailAddressCollection,CC,BCC和我的MAILMESSAGE replytolist(Net.Mail)添加电子邮件addressCollection到,CC,BCC和replytoList

我的代码就像

MessageEntity.To.Add(GetMailAddress(TOEmailAddress)); 
    MessageEntity.CC.Add(GetMailAddress(CCEmailAddress)); 
    MessageEntity.Bcc.Add(GetMailAddress(BCCEmailAddress)); 
    MessageEntity.RepltToList.Add(GetMailAddress(ReplyEmailAddress)); 


    private static MailAddressCollection GetMailAddress(List<string> LstMailAddress) 
    { 
     MailAddressCollection MAddressCollection = new MailAddressCollection(); 
     if (MailAddress != null) 
     { 
      foreach (string EmailAddress in MailAddress) 
      { 
       if (IsValidEmailId(EmailAddress)) 
       { 
        MAddressCollection.Add((new MailAddress(EmailAddress))); 
       } 
      } 
     } 
     return MAddressCollection; 
    } 

这是显示错误无法从'System.Net.Mail.MailAddressCollection'转换为'字符串'

是否可以将EmailAddressCollection添加到电子邮件的/ cc/bcc/ReplyToList?

感谢 圣

回答

0

一个快速重构,你可以做这样的:

AddMailAddresses(MessageEntity.To, TOEmailAddress); 
AddMailAddresses(MessageEntity.CC, CCEmailAddress); 
AddMailAddresses(MessageEntity.Bcc, BCCEmailAddress); 
AddMailAddresses(MessageEntity.ReplyToList, ReplyEmailAddress); 

private static void AddMailAddresses(
    MailAddressCollection mailAddresses, 
    IEnumerable<string> mailAddressesToAdd) 
{ 
    if (mailAddressesToAdd == null) 
    { 
     return; 
    } 

    IEnumerable<string> validMailAddressesToAdd = 
     mailAddressesToAdd.Where(ma => IsValidEmailId(ma)); 

    foreach (string mailAddressToAdd in validMailAddressesToAdd) 
    { 
     mailAddresses.Add(mailAddressToAdd); 
    } 
} 
相关问题