2015-03-27 4 views
0

Моя почтовая программа работает на 2 ящика, но исключает исключение «Отказ от отправки почты» в другом поле. Это сообщение об исключении не очень описательно. Есть ли способ сбросить трассировку исключения для удобства отладки, как описано в here?Метод SmtpClient.send бросил исключение «Отказ при отправке почты»

Спасибо.

+0

Оберните плохой код в try {} catch (исключение e) {} и установите точку останова в теле catch. – Mark

ответ

0

Похоже, что вам нужно регистрировать исключение, потому что оно работает в другом окне. Вы можете посмотреть на Log4Net или Elmah

В это простейшая вы можете просто написать текстовый файл в файловой системе

try 
{ 
    // Your mail code here 

} 
catch (Exception ex) 
{  
    System.IO.StreamWriter file = new System.IO.StreamWriter("c:\\log.txt"); 
    file.WriteLine(ex.StackTrace); 
    file.Close(); 
} 

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

+0

Спасибо. Помогает ли трассировка стека в случае блокировки SMTP-трафика правилами брандмауэра? – itnovice

+0

Я точно не помню, это было скорее сообщение скорее как «Не могу связаться с хостом». Если вы хотите, вы можете зарегистрировать каждое не пустое свойство исключения в файле, чтобы помочь его диагностировать. –

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

  • Нет связанных вопросов^_^