如何在.NET 3.5中部署SmtpClient?

时间:2013-08-16 07:04:34

标签: c# smtp smtpclient

我正在使用SmtpClient发送邮件。我该如何处置SmtpClient。我使用的是.NET 3.5。

 try
     {
         smtpClient.Send(message);
         Log.WriteSpecialLog("smtpClient mail sending try success", "");
     }
      catch (Exception ee)
     {
         Log.WriteSpecialLog("smtpClient mail sending try Failed : " + ee.ToString(), "");
         return false;
     }

1 个答案:

答案 0 :(得分:1)

对于.NET 3.5,无法正确处理SmtpClient是一个已知问题。 http://connect.microsoft.com/VisualStudio/feedback/details/146711/smtp-never-sends-the-quit-command

您的问题与此类似:Properly disposing resources used by SmtpClient

此问题已在.NET 4.0 http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient(v=vs.100).aspx中修复,对于此(以及许多其他重新启动),建议更新.NET Framework(尽管我个人知道有时升级是一个问题)。< / p>

但是,如果你真的想要处理SmtpClient,你可以让自己的课程一次性使用。但我不知道这对SmtpClient有多好。 http://forums.asp.net/t/383218.aspx/1 http://msdn.microsoft.com/en-us/library/fs2xkftw.aspx

作为旁注,我建议你处理捕获SmtpFailedRecipientsException,而不是处理异常通用。 SmtpStatusCode中的InnerException为您提供重要信息。