2

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;
     }
4

1 回答 1

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(尽管我个人知道有时升级是一个问题)。

但是,如果您真的想处置SmtpClient,您可以自己处置该类。但我不知道这有多好SmtpClienthttp://forums.asp.net/t/383218.aspx/1 http://msdn.microsoft.com/en-us/library/fs2xkftw.aspx

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

于 2013-08-16T07:42:52.370 回答