我有一个MailAddressCollection,其中包含我要发送电子邮件的所有地址,但不能简单地拥有:
myMessage.To = myMailAddressCollection;
我必须这样做:
foreach (MailAddress address in myMailAddressCollection)
{
myMessage.To.Add(address);
}
任何人都可以解释为什么这样的类配置?我是否遗漏了一些能够分配给To,CC或Bcc属性的其他方式?
答案 0 :(得分:8)
MailMessage类想要保护它的属性,这是正确的封装。
如果它支持AddRange方法,那么你的任务会更容易一些,但是你的代码就像它的代码一样简单。
答案 1 :(得分:1)
我知道这很旧,但万一有人偶然发现它:
MailAddressCollection.Add可以接受以逗号分隔的电子邮件地址字符串。 MailAddressCollection.ToString方法返回包含电子邮件地址的逗号分隔字符串。
因此OP可以做到这一点:
myMessage.To.Add(myMailAddressCollection.ToString());
AddRange方法仍然是首选。