smtpclient “почта отправки отказа”

вот мой код

for(int i = 0; i < number ; i++)
{
MailAddress to = new MailAddress(iMail.to);
MailAddress from = new MailAddress(iMail.from, iMail.displayName);
string body = iMail.body;
string subject = iMail.sub;
oMail = new MailMessage(from, to);
oMail.Subject = subject;
oMail.Body = body;
oMail.IsBodyHtml = true;
oMail.Priority = MailPriority.Normal;
oMail.Sender = from;
s = new SmtpClient(smtpServer);
if (s != null)
{
 s.Send(oMail);
}
oMail.Dispose();
s = null;
}

это циклично выполняется, посылает более чем 60 000 электронных писем. но моя проблема, я получаю "почту отправки отказа" в части электронного письма несколько раз 5000 и некоторое время меньше затем, что отдых их поставляется. и я имею, проверяют все они ошибка, электронная почта имеет действующий электронный адрес. не знайте то, что является проблемой. я действительно нуждаюсь в помощи в этом.

Править: Это - моя Трассировка исключения

Ошибка - почта отправки Отказа.; Внутренний Исключая - Система. IO.IOException: Не мог считать данные с транспортного соединения: net_io_connectionclosed. в System. Сеть. Почта. SmtpReplyReaderFactory. ProcessRead (Байт [] буфер, смещение Int32, чтение Int32, булевская переменная readLine) в System. Сеть. Почта. SmtpReplyReaderFactory. ReadLines (вызывающая сторона SmtpReplyReader, короткая булевская переменная) в System. Сеть. Почта. SmtpReplyReaderFactory. ReadLine (вызывающая сторона SmtpReplyReader) в System. Сеть. Почта. CheckCommand. Отправьте (SmtpConnection ведут, ответ String&) в System. Сеть. Почта. MailCommand. Отправьте (SmtpConnection ведут, команда Byte [], Строка от) в System. Сеть. Почта. SmtpTransport. SendMail (отправитель MailAddress, получатели MailAddressCollection, Строка deliveryNotify, исключение SmtpFailedRecipientException&)

13
задан John Saunders 9 February 2010 в 03:24
поделиться

4 ответа

очевидно, эта проблема была решена просто увеличением размера очереди на моем стороннем smtp-сервере. но ответ Nip звучит так, как будто он тоже довольно полезен

3
ответ дан 1 December 2019 в 23:14
поделиться

Что ж, мы надеемся, что в «неудачной отправке электронной почты» должно быть немного больше деталей. Но есть несколько вещей, которые могут это вызвать.

  1. Ограничения на адрес «От». Если вы используете адреса, отличные от адресов, некоторые из них могут быть заблокированы вашей службой SMTP для отправки.
  2. Предотвращение наводнения на вашем SMTP-сервисе могло остановить отправку электронной почты.

Независимо от того, является ли это одной из этих или других ошибок, вы захотите взглянуть на исключение и внутреннее исключение, чтобы получить более подробную информацию.

9
ответ дан 1 December 2019 в 23:14
поделиться

какую ошибку вы получаете, это SmtpFailedrecipientException? если так, то вы можете проверить список неполучения и просмотреть StatusCode для получения дополнительной информации. ссылка ниже содержит некоторую хорошую информацию

MSDN

Edit for the new information

This a problem with finding your SMTP server from what I can see, хотя вы говорите, что это происходит только на некоторых сообщениях электронной почты. Вы используете более одного smtp сервера, и если это так, то, возможно, вы можете свести проблему к одному конкретному, если нет, то, возможно, скорость/ количество посылаемых вами писем приводит к проблемам с вашим smtp сервером.

1
ответ дан 1 December 2019 в 23:14
поделиться

У меня возникла та же проблема при отправке большого объема электронной почты. Установка для свойства deliveryMethod значения PickupDirectoryFromIis устранила это для меня. Также не создавайте новый SmtpClient каждый раз.

3
ответ дан 1 December 2019 в 23:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: