0
我想发送一封电子邮件给超过2人使用我自己的数据库。所以我使用for循环发送电子邮件。它发送给第一个人(mail_data.Rows [0] [0]),但不是第二个人。(mail_data.Rows [1] [0])代码在smtp.Send(mm)之前停止。第二个人的电子邮件是完全正确的。我不知道为什么代码停在那里。smtp不适用于循环
private void Email()
{
//get the data from database
DataTable data = GetData();
DataTable email_data = GetEmailData();
data.TableName = "Employee_Data";
....
String from = "[email protected]";
for (int i = 0; i <= email_data.Rows.Count; i++)
{
String to = email_data.Rows[i][0].ToString();
using (MailMessage mm = new MailMessage(from, to))
{
this.WriteToFile(to);
using (SmtpClient smtp = new SmtpClient())
{
mm.Subject = "Fresh NSO Updated List";
mm.AlternateViews.Add(body);
mm.Attachments.Add(new Attachment(new MemoryStream(bytes), "NSOList.xlsx"));
mm.IsBodyHtml = true;
smtp.Host = "smtp.gmail.com";
smtp.EnableSsl = true;
System.Net.NetworkCredential credentials = new System.Net.NetworkCredential();
credentials.UserName = "[email protected]";
credentials.Password = "aa";
smtp.UseDefaultCredentials = true;
smtp.Credentials = credentials;
smtp.Port = 587;
this.WriteToFile("beforeSend");
Thread.Sleep(1000);
//just stop here on second loop,
smtp.Send(mm);
this.WriteToFile("Sent!");
}
}
}
}
你是什么意思?抛出异常吗?它挂在发送?你真的只是将你的真实密码嵌入到这个堆栈溢出问题中吗?可怕的想法。您需要立即更改密码。 – mason
而不是单独的消息,你可不只是将所有收件人添加到单个电子邮件的密件抄送字段? – Andy
@mason哦是的..这是我的错误,我看到这一个后立即改变..谢谢。当我执行代码时,它挂在发送第二个for循环。 – Scarlett