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