«Тайм-аут ожидания ввода клиента» на SMTP-сервер IIS localhost - PullRequest
0 голосов
/ 22 марта 2019

Мой веб-сервис отправляет электронную почту на локальный почтовый ретранслятор IISv6, но случайно я получаю сообщение об ошибке «Тайм-аут в ожидании ввода от клиента».У нас есть несколько виртуальных машин в центре обработки данных, и все они настроены одинаково, и все они время от времени видят эту проблему, поэтому я не думаю, что это связано с аппаратным обеспечением.Я прочитал аналогичную проблему на SmtpClient.Send случайно вызывает SmtpException 4.7.0 тайм-аут ожидания ожидания ввода клиента , но, похоже, вывод сделан с аутентификацией сервера обмена согласно постеру.Так как я отправляю электронное письмо в localhost relay, у меня не должно быть этой проблемы, я думаю.Мой код ничего особенного

     MailMessage message = new MailMessage();
                message.From = new MailAddress(from);

                foreach (string address in receivers)
                {
                    message.To.Add(address);
                }
                message.Subject = subject;
                message.IsBodyHtml = true;
                message.Body = body;

                SmtpClient smtpClient = new SmtpClient();
                smtpClient.Host = server;
                smtpClient.Port = port;
                smtpClient.EnableSsl = ssl_enabled;

                if (username != "")
                {
                    smtpClient.Credentials = new System.Net.NetworkCredential(username, password, domain);
                }

                smtpClient.Timeout = email_timeout;

                try
                {
                    smtpClient.Send(message);
                    email_retry_attempts = 0;
                    message.Dispose();
                }
                catch (Exception e)
                {
                    Log.Exception(e, e.Message);
                }
                finally
                {
                    // Try and close up the connections
                    smtpClient.Dispose();
                    smtpClient.ServicePoint.CloseConnectionGroup("");
                    smtpClient.ServicePoint.CloseConnectionGroup(smtpClient.Serv‌​icePoint.ConnectionN‌​ame);
                    email_retry_attempts--;
                }
...