2013-08-16 33 views
2

我使用SmtpClient發送郵件。我如何處理SmtpClient。我正在使用.NET 3.5。如何在.NET 3.5中配置SmtpClient?

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

對於.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併爲此(和許多其他reasson),這將是advisible更新.NET框架操作(雖然我個人知道有時候升級是個問題)。

但是,如果你真的想要處置SmtpClient,你可以讓班級自己處理。但我不知道SmtpClient的效果如何。 http://forums.asp.net/t/383218.aspx/1 http://msdn.microsoft.com/en-us/library/fs2xkftw.aspx

作爲一個方面說明,我勸你處理漁獲SmtpFailedRecipientsException,不能治療例外通​​用。 InnerException中的SmtpStatusCode爲您提供重要信息。

+0

我已經寫了趕上內部的異常。看看會發生什麼問題 – JIKKU

+0

這實際上並沒有回答這個問題。被困在3.5中,我能做什麼?實際發送QUIT消息所需的所有相關屬性都不可訪問(內部),因此即使是子類化也無法訪問它們。 – Nyerguds