Невозможно отправить почту, если одна почта отсутствует с ASP
Я написал код для отправки бюллетеня, все работает нормально, но есть проблема, если один из адресов электронной почты в списке не завершается или домен не существует.
В этом случае сценарий немедленно останавливается и отправка списка рассылки не заканчивается.
Вот часть кода, которую я хочу изменить.
public static void SendMessage(String sender, String recipient, String message, String object)
{
try
{
MailMessage mail = new MailMessage(sender, recipient);
mail.Subject = object;
mail.IsBodyHtml = true;
mail.Body = message;
SmtpClient smtp = new SmtpClient();
smtp.Host = "my.smtp.com";
smtp.Send(mail);
}
catch (Exception e)
{ throw new Exception("AdminEmail - SendMessage >> recipient: " + recipient + " - generic error: " + e.Message); }
}
Надеюсь, что Сомоне может помочь мне, большое спасибо!
1 ответ
Решение
Добро пожаловать в ТАК. Из того, что я могу вывести из вашего описания, вы не обрабатываете исключение, которое выдает SendMessage.
Обработайте исключение в методе вызывающего. Или сделайте грязное исправление, как показано ниже...
Это не настоящее исправление. Но поможет вам понять проблему... Вы должны определить в своем вызывающем методе, что делать, если SendMessage выдает исключение.
public static void SendMessage(String sender, String recipient, String message, String object)
{
try
{
MailMessage mail = new MailMessage(sender, recipient);
mail.Subject = object;
mail.IsBodyHtml = true;
mail.Body = message;
SmtpClient smtp = new SmtpClient();
smtp.Host = "my.smtp.com";
smtp.Send(mail);
}
catch (Exception e)
{
//Just log error and continue to process
}
}