使用System.Net.Mail发送电子邮件

时间:2014-06-10 04:23:47

标签: c# asp.net

我想用System.Net.Mail发送电子邮件。

我使用此代码。

 string[] emails = Email.Split(',');
 MailMessage message = new MailMessage();
 message.From = new MailAddress("doc@mysite.net");
 foreach (var em in emails)
   message.To.Add(new MailAddress(em));
 message.Subject = "ثبت مدارک جدید";
 message.Body = DNameTextBox.Text + Environment.NewLine + DMobileTextBox.Text + 
  Environment.NewLine + DEmailTextBox.Text + Environment.NewLine 
  + DsubjectTextBox.Text + Environment.NewLine + DDescTextBox.Text;
 {
     HttpFileCollection hfc = Request.Files;
     for (int i = 0; i <= hfc.Count - 1; i++)    // CHECK THE FILE COUNT.
      {
        HttpPostedFile hpf = hfc[i];
        if (hpf.ContentLength > 0)
          message.Attachments.Add(
            new Attachment(hpf.InputStream, Path.GetFileName(hpf.FileName))
          );
       }
      }

      SmtpClient smtp = new SmtpClient("mail.site.com", 25);

      //to authenticate we set the username and password properites on the SmtpClient
      smtp.Credentials = new NetworkCredential("doc@mysite.net", "000");
      smtp.Send(message);

它发送了电子邮件,但我的问题是它发送了20封电子邮件。

为什么smtp.Send(message)会发送多封电子邮件?

1 个答案:

答案 0 :(得分:0)

这是因为您已在地址中添加了多个地址。因此,它会向所有电子邮件地址发送电子邮件。

请参阅以下代码。

 foreach (var em in emails)
   message.To.Add(new MailAddress(em));