向已在数据库中注册的每个人发送电子邮件通讯

时间:2019-11-03 12:52:26

标签: asp.net-mvc

我不知道我能恢复我的所有电子邮件地址,但该消息并未消失,也不会显示错误。

public ActionResult SendNewsletter(string sujet, string message)
{
    try
    {
        if (ModelState.IsValid)
        {
            var listEmail = db.NewsLetter
                              .Select(n => n.Email)
                              .ToList().AsEnumerable();
            var emailList = String.Join(" ; ", listEmail);
            var to = new MailAddress(emailList);

            // "emailList" recover all my address mail.
            var from = new MailAddress("nicolas.urbaniak@sfr.fr");
            var sujetMail = sujet;
            var mess = message;
            var password = "***********";

            // if I just insert an address hard the mail share well so the smtp is correct.
            using (var smtp = new SmtpClient
            {
                Host = " mail.sfr.fr",
                Port = 25,
                DeliveryMethod = SmtpDeliveryMethod.Network,
                UseDefaultCredentials = false,
                Credentials = new NetworkCredential(from.Address, password)
            })
            {
                using (
                    // var courrier = new MailMessage("urbaniak.nicolas@sfr.fr", to.Address)
                {
                    From = from,
                    Subject = sujetMail,
                    Body = mess
                })
                {
                    smtp.Send(courrier);
                }
            }

            return View();
        }
    }
    catch (Exception e)
    {
        ViewBag.error = "erreur : " + e;
    }
}

1 个答案:

答案 0 :(得分:0)

可能的解决方案How to send email to multiple address using System.Net.Mail

您可能必须在for循环内运行mailmsg.to.Add()(这是一个集合),才能添加所有电子邮件地址。