Обычно я делаю это, создавая класс-оболочку для SmtpClient, а затем проверяю его в моих тестах.Это удаляет фактические почтовые клиент / серверные зависимости из моих модульных тестов.Сама оболочка относительно тонкая, поэтому я не чувствую необходимости создавать тесты для нее.Обычно я выполняю тестирование на уровне интеграции для таких вещей, как предварительные тесты в моей промежуточной среде.В промежуточной среде обычно используется рабочий почтовый сервер, но с «поддельными» данными - например, адреса электронной почты клиентов заменяются на мои собственные.
Сказав это, я ожидаю, что клиент будет работать без ошибок даже на вашемсистема разработки, если ваш почтовый сервер не защищен брандмауэром или чем-то, что может помешать вашей системе разработки общаться с ним.Не могли бы вы подробнее рассказать о том, с какой ошибкой вы столкнулись?