【发布时间】:2012-09-22 15:45:16
【问题描述】:
我正在编写一个通过类 SmtpClient 发送电子邮件的程序。我使用此代码:
try
{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("mailSMTP.it");
mail.From = new MailAddress("address.it");
mail.Subject = "oggetto";
mail.IsBodyHtml = true;
string htmlBody = "someHTML";
mail.Body = htmlBody;
SmtpServer.Port = 25;
SmtpServer.EnableSsl = false;
foreach (string indirizzo in indirizzi)
{
mail.To.Clear();
mail.To.Add(indirizzo);
SmtpServer.Send(mail);
System.Threading.Thread.Sleep(3000);
}
MessageBox.Show("e-mail spedite!");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
但它只有在我切断“睡眠”线时才有效。为什么?我认为在此过程中休息一下是个好主意。
【问题讨论】:
-
我不认为在过程中休息是个好主意。
-
有效 = 它发送所有电子邮件。此外,即使我在 foreach 行设置断点,它也“有效”。只有当我使用 sleep 函数(并且没有 breakpont)运行代码时,我才会得到一个异常。
-
@StefanoCastelli 您应该发布异常的详细信息。
-
@Mufaka 它是意大利语,但我想我可以将其翻译为“现有连接被远程主机强行关闭”
标签: c# sleep smtpclient mail-sender