Как решить «Служба недоступна, закрытие канала передачи. Ответ сервера: сервер занят, слишком много подключений» - PullRequest
0 голосов
/ 03 сентября 2018

Почему я получаю эту ошибку? И почему все связанные с этим вопросы не имеют решения?

  var emailAdd = mailSettings.EmailAddress;
                            var smtpClient = mailSettings.SMTPClient;
                            password = mailSettings.Password;

                            var Message = new MailMessage(emailAdd, to, subject, "mail body");
                            Message.Attachments.Add(new Attachment(new MemoryStream(bytes), "Report_Card.pdf"));
                            Message.IsBodyHtml = true;
                            Message.From = new MailAddress(emailAdd, displayName);
                            var smtp = new SmtpClient(smtpClient);
                            var NetworkCredentials = new NetworkCredential();
                            NetworkCredentials.UserName = emailAdd;
                            NetworkCredentials.Password = password;

                            smtp.Credentials = NetworkCredentials;
                            smtp.Send(Message);

Мне нужно постоянное решение этой проблемы. Почта отправляется пару раз и потом останавливается.

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Эта ошибка обычно вызвана тем, что сервер устанавливает ограничение на количество сообщений, которые могут передаваться по SMTP-соединению. Обычно это делается для предотвращения спама.

У вас есть выбор. (a) Либо Вы можете ограничить количество сообщений, отправляемых за один раз, чтобы не превысить лимит. (b) или вы можете попросить администратора сервера настроить ограничение сервера. (c) Или Вы можете попытаться перенастроить ваше подключение к серверу для автоматического отключения или подключения после, скажем, 5 писем.

Это скорее проблема сервера, чем проблема программирования, хотя вы можете попытаться перенастроить свой код, чтобы преодолеть это ограничение (см. Опцию C) .

0 голосов
/ 04 сентября 2018
  1. Попробуйте отправить много сообщений через одно соединение / сеанс SMTP (например, 50)
  2. Будьте готовы к любым ограничениям, наложенным сервером.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...