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

本文关键字:电子邮件 地址 | 更新日期: 2023-09-27 18:23:49

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

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

这是我的字符串列表电子邮件有一个值"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);

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

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

参数

地址

类型:System.String

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

所以把你的代码改成

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

它应该起作用!

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

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