我正在使用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;
}
答案 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
为您提供重要信息。