我有一个问题,就是在我的网络应用中发送多封电子邮件。 如果我只发送一个地址,它会正常发送!
我的字符串列表是正确的,因为如果我粘贴在Outlook中并发送manualy,则所有adressess都会收到。
嗯,这是我的字符串listEmail有一个值“caio.jesus@ex.com”,我收到了。 如果string listEmail的值为“caio.jesus@ex.com; raul @ex.com; mat@ex.com;”没有人收到。
lstEmail.ToList();
string listEmail = string.Join("; ", lstEmail.ToArray());
System.Net.Mail.MailMessage objEmail = new System.Net.Mail.MailMessage();
objEmail.From = new MailAddress("caio.jesus@ex.com", "BR");
objEmail.To.Add(listEmail);
objEmail.Priority = System.Net.Mail.MailPriority.High;
objEmail.IsBodyHtml = true;
objEmail.Subject = "System NDRSecurity - Novas Requisições.";
objEmail.Body = "EX";
objEmail.SubjectEncoding = Encoding.GetEncoding("ISO-8859-1");
objEmail.BodyEncoding = Encoding.GetEncoding("ISO-8859-1");
SmtpClient objSmtp = new SmtpClient("XXX");
objSmtp.EnableSsl = true;
objSmtp.Port = 25;
objSmtp.Credentials = new NetworkCredential("caio.jesus@ex.com", "XXX");
objSmtp.Send(objEmail);
答案 0 :(得分:6)
请参阅MSDN MailAddressCollection了解解决方案
<强>参数强>
地址
输入: System.String
要添加到MailAddressCollection的电子邮件地址。多个电子邮件地址必须用逗号分隔(&#34;,&#34;)。
所以将代码更改为
lstEmail.ToList();
string listEmail = string.Join(", ", lstEmail.ToArray());
它应该有效!
答案 1 :(得分:1)
您的listemail
字符串需要用逗号,
分隔,而不是分号;
。
以下是解释MailAddress
课程的MSDN文章:http://msdn.microsoft.com/en-us/library/system.net.mail.mailaddress.aspx