0

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

我的字符串列表是正确的,因为如果我粘贴到 Outlook 中并手动发送,所有地址都会收到。

嗯,这是我的字符串 listEmail 有一个值“caio.jesus@ex.com”,我收到了。如果字符串 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);
4

2 回答 2

6

有关解决方案,请参阅MSDN MailAddressCollection

参数

地址

类型: System.String

要添加到 MailAddressCollection 的电子邮件地址。多个电子邮件地址必须用逗号字符 (",") 分隔

因此,将您的代码更改为

lstEmail.ToList();
string listEmail = string.Join(", ", lstEmail.ToArray());

它应该工作!

于 2013-07-18T12:14:05.560 回答
1

您的listemail字符串需要用逗号,分隔,而不是分号;

MailAddress这是解释该类的 MSDN 文章:http: //msdn.microsoft.com/en-us/library/system.net.mail.mailaddress.aspx

于 2013-07-18T12:18:43.923 回答