Вот мои выводы. Сегодня утром я столкнулся с этой проблемой. Я добавил своего текущего пользователя в пул приложений, в котором было запущено приложение.
Шаги:
Обновите приложение .. и он начнет работать. Была проблема с доступом к dll.
Используя SmtpClient
для отправки MailMessage
не требует, чтобы у Вас был сервер на Вашей локальной машине.
Ваш поставщик почтового сервиса является тем с сервером (например, smtp.gmail.com), и Ваш SmtpClient
говорит с ним.
Эта статья Peter Bromberg на eggheadcafe.com
Почта SMTP C# без Сервиса SMTP или CDO
объясняет, как послать электронное письмо, не полагаясь на клиент SMTP:
электронное письмо Отправки через TCP с помощью собственного RFC SMTP управляет "HELO", "ПОЧТА От", ПРИЕМ К", и т.д. не грандиозное предприятие. Это - один из первых приемов, которые мы изучаем с Telnet. Нахождение или написание управляемого кода, который сделает так надежно, являются другой историей. Код в классе, который следует, не является моим исходным кодом - я починил его из трех различных демонстрационных источников, фиксируя пространства имен, обработку ошибок и другие незначительные объекты, изменив консольный код на код библиотеки классов, и обеспечив полный Winforms - базирующийся фронтэнд тестовой обвязки, который иллюстрирует его корректное использование.
я также включал пример кода, чтобы правильно обработать и прикрепить почтовое вложение через OpenFileDialog здесь. Этот MIME кода кодирует и передает вложение (вложения) согласно спецификации.
Вы не можете послать электронное письмо без сервисов сервера SMTP, нет, конечно, никакой потребности в Вас установить один, просто указать на Ваш код на Ваш сервер SMTP ISPs или Ваши компании Exchange Server (или что когда-либо они используют).