不向多个地址发送电子邮件

时间:2013-07-18 12:11:42

标签: c# asp.net .net

我有一个问题,就是在我的网络应用中发送多封电子邮件。 如果我只发送一个地址,它会正常发送!

我的字符串列表是正确的,因为如果我粘贴在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);

2 个答案:

答案 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