Как перехватить протокол SMTP при использовании SmtpClient в .NET - PullRequest
1 голос
/ 09 мая 2011

Я хотел бы знать, существует ли простой способ записи стенограммы сеанса SMTP при отправке электронной почты с использованием System.Net.Mail.MailClient.В тех случаях, когда генерируется ошибка (например: ретрансляция запрещена), я хотел бы отобразить весь текст для пользователя.

Если есть предыдущие вопросы, которые обсуждали это, я не смог их найти.Я работаю с VB.NET, но примеры C # также приветствуются.Заранее спасибо за любые предложения!

Приветствия, JE

1 Ответ

1 голос
/ 09 мая 2011

Я думаю, что вы можете получить фактическую расшифровку, включив ведение журнала для system.net . К сожалению, я не думаю, что это в режиме реального времени, поэтому это не вариант для вас. Вместо этого вам просто нужно попытаться отправить и перехватить SmtpException , а затем проверить SmtpException.StatusCode .

Если у вас есть другой процесс для отправки (например, IIS), и вы просто отбрасываете сообщения для его доставки, то, к сожалению, нет реального способа получить некоторые из этих исключений в режиме реального времени.

Здесь есть интересный пост SMTP-тестера, который я никогда не пробовал, но звучит интересно. Могу ли я проверить SmtpClient перед вызовом client.Send ()?

...