Устранение неполадок «421 Соединение не принято в данный момент» ошибка при отправке электронной почты с SmtpClient - PullRequest
0 голосов
/ 06 февраля 2011

Я пытаюсь отправить 4 электронных письма, используя мой провайдер. (НЕ JUNK MAIL, я отправляю его на мой адрес)
Я отправляю их один за другим из цикла (по мере их построения). каждое сообщение 50kb-80kb

 MailMessage mailmessage = new MailMessage();
 mailmessage.To.Add(to);
 mailmessage.From = new MailAddress(from, "From");
 mailmessage.IsBodyHtml = true;
 mailmessage.Priority = MailPriority.Normal;
 mailmessage.Subject = subject;
 mailmessage.Body = body;
 SmtpClient smtpclient = new SmtpClient(server, 25); //use this PORT!
 smtpclient.DeliveryMethod = SmtpDeliveryMethod.Network;
 smtpclient.Credentials = new NetworkCredential(user, pass);
 smtpclient.Send(mailmessage);

В последнем сообщении я получаю эту ошибку:

Сервис недоступен, закрытие канал передачи. Сервер ответ был: соединение не принято в это время

UPDATE:
Через несколько раз после этой ошибки я не могу отправить письмо (используя этот сервер) даже из других приложений, таких как outlook express, я получаю сообщение об ошибке:

Произошла неизвестная ошибка. Учетная запись: 'MailServerAddress', Сервер: 'MailServerAddress' ', протокол: SMTP, Ответ сервера: '421 Соединение не принято в это время », порт: 25, Безопасный (SSL): нет, ошибка сервера: 421, Номер ошибки: 0x800CCC67

Примерно через минуту я могу отправить снова.

Ответы [ 2 ]

1 голос
/ 06 февраля 2011

У меня была не совсем, но очень похожая проблема:

SMTP-ошибка отправки электронной почты SmtpClinet (сервер SmarterEmail)

Проблема заключалась в том, что мой локальный провайдер былзакрытие 25 порта.

Вы тестировали некоторые другие порты, например 587?

1 голос
/ 06 февраля 2011

Всегда проверяйте, что ваш адрес отправителя также является действительным почтовым ящиком, поэтому рикошеты возвращаются вам, многие интернет-провайдеры полностью запрещают использование других (незарегистрированных) адресов отправителей.Как отмечалось в комментариях других, как правило, интернет-провайдер также ограничивает скорость, поэтому вам придется настраивать код отправки в соответствии с ожиданиями интернет-провайдера, что может быть утомительным.электронная почта - это и искусство, и наука по какой-то причине.Если вы пытаетесь использовать это для производственной системы, я могу только предложить вам использовать какой-либо сервис, такой как SendGrid или Mailgun .Даже если ваш почтовый сервер принимает сообщения, он может достигнуть предела на другом почтовом сервере интернет-провайдера, поскольку у большинства интернет-провайдеров есть определенные ограничения, а маршрутизация электронной почты довольно сложна.Также вы можете быстро нажать на спам-фильтры.С моим провайдером, автоматические сообщения всегда спамят в googlemail по любой причине.

Для разработки Mailgun предлагает две сотни электронных писем в день бесплатно, чего вначале должно быть достаточно.Кроме того, SMTP - очень медленный протокол, поэтому использование его HTTP-интерфейса сэкономит вам немного времени сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...