У меня есть веб-приложение ASP.NET 4.0, которое отдел кадров использует для рассылки опросов сотрудникам. Поскольку мы используем Google Apps, я пытаюсь отправлять электронные письма с опросами через учетную запись Google Apps.
Я использовал следующие настройки для отправки электронных писем.
Host - smtp.gmail.com
Port - 587
EnableSsl=true
вместе с моим именем пользователя и паролем.
Это код для отправки электронных писем.
using (SmtpClient smtp = new SmtpClient())
{
smtp.Timeout = 0;
smtp.Send(message);
}
Настройки находятся в web.config и считываются оттуда.
Теперь моя проблема ..
Команда отдела кадров выбирает нескольких пользователей для отправки опроса. Они могли просто выбрать 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)
Если он дошел до этого состояния, единственный выход - перезапустить IIS. Если я перезапущу IIS, он снова начнет нормально работать в течение следующих 12 с лишним.
В чем может быть проблема? Пожалуйста помоги.