Невозможно отправить почту, если одна почта отсутствует с 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

            }   
    }
Другие вопросы по тегам