У меня есть веб-приложение ASP.NET 4.0, которое команда HR использует для отправки опросов сотрудникам.Поскольку мы используем Службы Google, я пытаюсь отправить эти электронные письма с опросом через учетную запись Служб Google.
Я использовал следующие параметры для отправки электронных писем.
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)
Если он приходит в это состояние, единственный способвыход для повторного запуска IIS.Если я перезапущу IIS, он снова начнет нормально работать в течение следующих 12 с лишним.
В чем может быть проблема?Пожалуйста, помогите.