我有一个ASP.NET 4.0 Web应用程序,人力资源团队用它将这些调查发送给员工。由于我们使用Google Apps,因此我试图通过Google Apps帐户发送这些调查电子邮件。通过Google Apps使用System.Net.Mail发送电子邮件定时发送
我已经使用以下设置发送电子邮件。
Host - smtp.gmail.com
Port - 587
EnableSsl=true
以及我的用户名和密码。
这是发送电子邮件的代码。
using (SmtpClient smtp = new SmtpClient())
{
smtp.Timeout = 0;
smtp.Send(message);
}
设置位于web.config中,并从那里读取。
现在我的问题..
hr团队选择多个用户发送调查。他们可以一次选择1个或者最多100个发送调查。由于每个调查链接必须有所不同,我重复列出用户并发送电子邮件。
现在应用程序发出最多12封电子邮件后,它不再发送。它尝试发送的下一封电子邮件会引发错误。
Message = The operation has timed out.
Status Code =GeneralFailure
Stack Trace = at System.Net.Mail.SmtpClient.Send(MailMessage message)
at ABC.Business.Mail.SendMail(MailMessage message, String& errorMessage)
从那时起,如果我再次重试它抛出一个错误
Message = Failure sending mail.
Status Code =GeneralFailure
Stack Trace = at System.Net.Mail.SmtpClient.Send(MailMessage message)
at ABC.Business.Mail.SendMail(MailMessage message, String& errorMessage)
如果它来到这个国家,唯一的出路就是retart IIS。如果我重新启动IIS,它会在接下来的12个单元中再次正常工作。
可能是什么问题?请帮忙。
我认为设置超时= 0意味着无限等待?我错了吗? – 2012-03-30 22:30:02