c# - 指定的字符串不是电子邮件地址所需的格式。发送电子邮件时

标签 c# asp.net smtp html-email mailmessage

尝试使用以下代码向多个收件人发送电子邮件时出现此错误:

The specified string is not in the form required for an e-mail address.

string[] email = {"emailone@gmail.com","emailtow@gmail.com"};
using (MailMessage mm = new MailMessage("teset123321@gmail.com", email.ToString()))
{
     try
     {
          mm.Subject = "sub;
          mm.Body = "msg";
          mm.Body += GetGridviewData(GridView1);
          mm.IsBodyHtml = true;
          SmtpClient smtp = new SmtpClient();
          smtp.Host = "smtpout.server.net";
          smtp.EnableSsl = false;
          NetworkCredential NetworkCred = new NetworkCredential("email", "pass");
          smtp.UseDefaultCredentials = true;
          smtp.Credentials = NetworkCred;
          smtp.Port = 80;
          smtp.Send(mm);
          ClientScript.RegisterStartupScript(GetType(), "alert", "alert('Email sent.');", true);
      }
      catch (Exception ex)
      {
          Response.Write("Could not send the e-mail - error: " + ex.Message);    
      }
}

最佳答案

将您的使用行更改为:

using (MailMessage mm = new MailMessage())

添加发件人地址:

mm.From = new MailAddress("myaddress@gmail.com");

您可以遍历电子邮件地址的字符串数组并像这样将它们一一添加:

string[] email = { "emailone@gmail.com", "emailtwo@gmail.com", "emailthree@gmail.com" };

foreach (string address in email)
{
    mm.To.Add(address);
}

例子:

string[] email = { "emailone@gmail.com", "emailtwo@gmail.com", "emailthree@gmail.com" };

using (MailMessage mm = new MailMessage())
{
    try
    {
        mm.From = new MailAddress("myaddress@gmail.com");

        foreach (string address in email)
        {
            mm.To.Add(address);
        }

        mm.Subject = "sub;
        // Other Properties Here
    }
   catch (Exception ex)
   {
       Response.Write("Could not send the e-mail - error: " + ex.Message);
   }
}

关于c# - 指定的字符串不是电子邮件地址所需的格式。发送电子邮件时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32331622/

相关文章:

c# - 向前移动物体是乘法而不是加法

c# - 我怎样才能将我的数组属性包含到类构造函数中并能够通过对象初始化访问它?

ruby-on-rails - 控制不同环境中电子邮件的日志记录和发送

c++ - 在 Linux 上使用 C++ 中的 SMTP 发送邮件

c# - Asp.Net MVC 2 中的 AccountController 将其数据存储在哪里?

python - 使用python发送邮件出现错误

c# - EF - 在 HTTP 请求期间创建模型异常时无法使用上下文

c# - 将文本文件中的数据插入表 SQL Server

asp.net - 您可以在没有专有软件的情况下通过 ASP.NET 发送传真吗

asp.net - Nuget.Core.dll 版本号不匹配