2014-01-22 2 views
0

Я написал код для отправки бюллетеня, все работает нормально, но есть проблема, если один из адресов электронной почты в списке не выходит или домена не существует.Невозможно отправить почту, если одна почта отсутствует с 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); } 
} 

Надежда может помочь мне, спасибо!

+2

Привет, «останавливается немедленно», как в: исключение возникает? это, вероятно, так, и это нормально. Вы имеете в виду другой уровень в вашем коде (например, вызывающий), поскольку это функция для отправки 1 электронной почты, а не списка рассылки ...? – Paul

ответ

0

Добро пожаловать в SO. Из того, что я могу сделать из вашего описания, вы не обрабатываете исключение, которое вызывается 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 

      } 
    } 
+0

Джордж Филипп работает, спасибо вам большое! – user3225453

Смежные вопросы