代码之家  ›  专栏  ›  技术社区  ›  ajdams

使用C Windows窗体上的system.net.mail发送邮件

  •  0
  • ajdams  · 技术社区  · 14 年前

    真正简单的问题(所以我想),我只想从表单发送邮件,而不必退出()或重新启动()。

    我看过很多例子,它们都能工作,但不在一个窗体内,我唯一能让它工作的方法是调用:

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

    但是这在.NET 2.0中不可用(我的用户在他们的计算机上拥有的)。
    所以我试着用

    mysmtpclient.sendasync(mymailmessage、mymailmessage);

    然后在触发sendCompleted事件处理程序之后进行处理,但只有当我使用 Application.Exit();

    我错过了简单的东西吗?
    谢谢。

    1 回复  |  直到 14 年前
        1
  •  0
  •   AllenG    14 年前

    From ScottGu's blog
    From MSDN

    在.NET 2.0中,smtpclient似乎未实现IDisposable。如果它占用了你的表单资源,那么:

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