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

本文关键字:电子邮件 Mail System Net | 更新日期: 2023-09-27 18:07:45

我想用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)发送了多封邮件?

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

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

请看下面的代码:

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