MailAddress构造函数中的多个地址
我试图添加多个这样的地址。
MailAddress mailAddressTo = new MailAddress("sample@google.com;sample1@google.com","Vetrivelmp");
但抛出错误就像
An invalid character was found in the mail header: ';'
您不能使用MailAddress
构造函数指定多个收据,但您可以使用MailMessage
对象,如下所示。
使用MailMessage
( 而不是 MailAddress
)构造函数:
var msg = new MailMessage("from@domain.com", "to1@gmail.com, to2@gmail.com");
另一种方式是:
MailMessage mail = new MailMessage(); mail.To.Add("me@mycompany.com,him@hiscompany.com,her@hercompany.com");
另一种方式是:
MailMessage msg = new MailMessage(); msg.To.Add("person1@domain.com"); msg.To.Add("person2@domain.com"); msg.To.Add("person3@domain.com"); msg.To.Add("person4@domain.com");
实际上,分号不是有效的分隔符。 不幸的是,MSDN没有记录这个,不得不自己找出来。
如果要添加更多地址,请用逗号分隔。 空间将划分显示名称和电子邮件地址。 “To”属性接受以下格式:
- “email@server.com”
- “email1 @ server1.com,email2 @ server2.com”
- “姓名email@server.com”
- “name email@server1.com,email @ server2.com”
等等…
我在这篇博文中写了更多关于这个主题的文章
可能有一个问题,为什么你想要这样做? 类似于MailMessage.To
东西是MailAddressCollection
其Add
方法被重载以在字符串中获取多个电子邮件地址,用逗号分隔(请参阅http://msdn.microsoft.com/en-us/library/ms144695.aspx ) 。
MailAddress对象的通常用途是将它们添加到电子邮件中,如果您有多个地址,那么我假设您要将它们添加到To,CC等字段之一,在这种情况下,Add重载应该很好。 如果还有其他内容,那么您将不得不为您要做的事情提供更多背景信息。
使用逗号(,)作为分隔符而不是分号(;)。
如果在地址参数中传递以分号(“;”)分隔的多个电子邮件地址。 引发FormatExceptionexception。
- MailAddressCollection.Add(String)方法
有效的例子
MailAddressCollection.Add(字符串):
using (MailMessage msg = new MailMessage()) { ... msg.To.Add("sample@google.com, sample1@google.com"); ... }
MailAddressCollection.Add(MailAddress):
using (MailMessage msg = new MailMessage()) { ... msg.To.Add(new MailAddress("sample@google.com", "Vetrivelmp")); msg.To.Add(new MailAddress("sample1@google.com", "Vetrivelmp1")); ... }
这是FWIW这个主题的另一个变种:
SenderEmail = "me@mine.com"; RecipientEmail = "this@this.com, that@that.com, other@theother.com"; MailMessage msg = new MailMessage(SenderEmail, RecipientEmail);
请注意逗号。 有关详细信息,请访问MSDN。
@Tschareck
“逗号用于分隔邮件地址列表中的元素。因此,不应在列表中的不带引号的显示名称中使用逗号。” http://msdn.microsoft中将允许使用以下邮件地址。 COM / EN-US /库/ system.net.mail.mailaddress.aspx
最好的问候,阿纳鲁德
这对我有用。
MailMessage m_message = new MailMessage(); string m_addys = "addy2@foo.com,addy1@foo.com"; m_message.To.Add(m_addys);
- 将ASP.Net Core 2(.NET Framework)Web Api拆分为类库和托管项目是否可行/明智?
- 用.NET 4.5编写的Windows服务中的Console.Out和Console.Error争用条件错误
- XElement和List
- 如何从ChangeTracker获取原始实体
- TypeDescriptor不会从inheritance的接口返回成员
- 为什么迭代GetConsumingEnumerable()不会完全清空底层的阻塞集合
- 如何从socket接收字节数组,到C#结构
- UseSqlServer方法缺少MVC 6
- 如何返回false,如何创建将重定向到Login的自定义属性,类似于Authorize属性 – ASP.NET MVC