Отправка почты с помощью System.Net.Mail в форме C # Windows - PullRequest
0 голосов
/ 12 августа 2010

Очень простой вопрос (так я думал), я просто хочу отправлять почту из своей формы без необходимости выходить () или перезапускать ().

Я просмотрел много примеров, и все они работают, но не в форме, и единственный способ заставить его работать - это позвонить:

MySmtpClient.Send(MyMailMessage);  
MySmtpClient.Dispose();

Но это недоступно в .NET 2.0 (что есть у моих пользователей на их машинах).
Поэтому я попытался использовать

MySmtpClient.SendAsync (MyMailMessage, MyMailMessage);

, а затем удаляется после запуска обработчика события SendCompleted, но он срабатывает только при выходе из формы с Application.Exit();

Я что-то упустил?
Спасибо.

1 Ответ

0 голосов
/ 12 августа 2010

Из блога ScottGu
Из MSDN

Похоже, что в .NET 2.0 SmtpClient не реализовал IDisposable. Если он потребляет ресурсы вашей формы, как насчет:

SmtpClient mySmtpClient = new SmtpClient();
MailMessage myMailMessage = new MailMessage();
//set up email message
mySmtpClient.Send(myMailMessage);
SmptClient = null;
...