我正在使用Gmail STMP服务器发送电子邮件.它工作得很好.但是从几天开始,它有时会停止工作.现在,这只是工作5 out of 10时间.
例外: Failure Sending Email
内在例外: Unable to connect to remote server.
在谈到托管技术支持后,他们说他们的服务器上有一个邮件会话限制.这是一个Shared Hosting,所以当它超过所有新连接时都会阻塞.他们说他们正试图修复它.但也说请检查你是谁closing the mail session properly or not.
我调查了它,但没有Close()或Dispose().我还看到没有确认SMTP转移?
如果有关闭邮件会话,请告诉我?或解决此问题的任何解决方法.
更新
我在用 System.Net.Mail
MailMessage msg = new MailMessage();
SmtpClient sc = new SmtpClient("smtp.gmail.com",587);
NetworkCredential info = new NetworkCredential("email","password");
然后还有另一种调用方法sc.Send().
RB.*_*RB. 13
该System.Net.Mail.SmtpClient实现IDisposable,所以我建议你使用,而不用任何代码,您正在使用.使用使用块以确保它被正确处理.
请特别注意,System.Web.Mail不赞成使用System.Net.Mail.
using (SmtpClient client = new SmtpClient("mail.google.com"))
{
}
Run Code Online (Sandbox Code Playgroud)
编辑
你现在已经注意到你正在使用System.Net.Mail.在这种情况下,您会发现SMTPClient 确实具有Dispose方法(因为它实现了IDisposable),它将正常关闭SMTP连接.但是,使用using块而不是Dispose直接调用被认为是更好的做法.最后,请从链接文档中注意以下内容:
SmtpClient类没有Finalize方法.因此,应用程序必须调用Dispose以显式释放资源.
Dispose方法遍历所有已建立的与Host属性中指定的SMTP服务器的连接,并发送QUIT消息,然后正常结束TCP连接.Dispose方法还释放底层Socket使用的非托管资源.
| 归档时间: |
|
| 查看次数: |
6848 次 |
| 最近记录: |