Получение почтового ящика недоступно. Ошибка слишком большого количества недействительных получателейC#

Место общения программистов C#
Ответить
Anonymous
 Получение почтового ящика недоступно. Ошибка слишком большого количества недействительных получателей

Сообщение Anonymous »

Наше приложение отправляет электронные письма с помощью

Код: Выделить всё

new SmtpClient(smtpServer).Send(message);
Мы проверяем, что smtpServer действителен, сообщение имеет адреса получателя и отправителя, тему и тело. Если что-то из этого отсутствует, мы регистрируем исключение еще до того, как попытаемся отправить сообщение.

Но приложение часто выходит из строя из-за приведенного ниже исключения.
Ошибка электронной почты: System.Net.Mail.SmtpException: почтовый ящик недоступен. Ответ сервера был следующим: Слишком много недопустимых получателей.

Обратите внимание, что функция отправки электронной почты не всегда дает сбой. Для одного и того же адреса «Кому» это может произойти примерно в половине случаев. Таким образом, если приложение попытается отправить электронное письмо 100 раз, мы получим около 40+ ошибок с одним и тем же сообщением.

Я уже проверил, что адреса «Кому» и «От» адрес существует. Мы наблюдаем эту проблему с прошлого месяца, когда мы перешли с Outlook на Gmail.
Вот код.

Код: Выделить всё

if (fromAddress.Length == 0)
fromAddress = Resources.FromAddress;

if (toAddress.Length == 0) return "To Address is Required.";

if (smtpServer.Length == 0)
smtpServer = Resources.SMTPServer;

if (string.IsNullOrEmpty(smtpServer))
return "SMTP sever not specified";

MailMessage mailMessage = new MailMessage();

//set the addresses
mailMessage.From = new MailAddress(fromAddress);
string[] toAdds = toAddress.Split(';');
short i = 0;
foreach (string address in toAdds)
{
if(i==0) mailMessage.To.Add(address); else  mailMessage.CC.Add(address);
i++;
}

if (!string.IsNullOrEmpty(bcc))
{
string[] bccAddresses = bcc.Split(';');

foreach (string address in bccAddresses)
{
mailMessage.Bcc.Add(address);
}
}

if (!string.IsNullOrEmpty(cc))
{
string[] ccAddresses = cc.Split(';');

foreach (string address in ccAddresses)
{
mailMessage.CC.Add(address);
}
}

if (subject.Length > 0)
mailMessage.Subject = subject;

mailMessage.Body = sBody;
mailMessage.IsBodyHtml = true;

SmtpClient emailClient = new SmtpClient(smtpServer);
emailClient.Send(mailMessage);
Есть какие-нибудь направления?

Подробнее здесь: https://stackoverflow.com/questions/280 ... ents-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»