2013-05-11 1 views
0

Отправка писем через (new SmtpClient()).Send(msg) Получите сообщение SmtpFailedRecipientException с сообщением «Почтовый ящик недоступен. Ответ сервера: 5.7.1 Не удалось передать», не показывая мне остальную часть текста ошибки. Я хочу получить полный текст сообщения об ошибке.SmtpFailedRecipientException, не отображающий полный текст сообщения

+1

Откуда вы знаете, что есть другой текст? – Steve

+0

Спасибо @Steve, я читаю сообщение в моей системе регистрации ошибок. Я думаю, ответ сервера был с проблемным адресом электронной почты. – Charlie

+1

Ну, вероятно, остальная часть сообщения находится в свойстве InnerException. Что-то вроде: 'if (smtpEx.InnerException! = Null) Console.WriteLine (smtpEx.InnerException.Message);' Дайте мне знать, если это так, поэтому я мог бы изменить этот комментарий в ответе – Steve

ответ

0

Полное сообщение, полученное стеком SMTP, можно найти в объекте InnerException.Message.

Что-то вроде

if(smtpEx.InnerException != null) 
    { 
     LogMessage(smtpEx.InnerException.Message; 
    } 

также InnerException является исключением и, таким образом, присутствует InnerException.InnerException свойство с его сообщением. И это продолжается до тех пор, пока значение InnerException не будет равно нулю.

+0

или 'LogMessage (smtpEx.GetBaseException())' – Charlie