例外:发送电子邮件失败
内部异常:无法连接到远程服务器.
在谈到托管技术支持后,他们说他们的服务器上有一个邮件会话限制.这是一个共享主机,所以当它超过所有新连接时都会阻塞.他们说他们正试图修复它.但也请说请检查您是否正确关闭了邮件会话.
我调查了它,但没有Close()或Dispose().我还看到没有确认SMTP转移?
更新
我正在使用System.Net.Mail
MailMessage msg = new MailMessage();
SmtpClient sc = new SmtpClient(“smtp.gmail.com”,587);
NetworkCredential info = new NetworkCredential(“email”,“password”);
解决方法
请特别注意,不推荐使用System.Web.Mail,而是使用System.Net.Mail.
using (SmtpClient client = new SmtpClient("mail.google.com")) { }
编辑
您现在已经注意到您正在使用System.Net.Mail.在这种情况下,您会发现SMTPClient确实具有Dispose方法(因为它实现了IDisposable),它将正常关闭SMTP连接.但是,使用using块而不是直接调用Dispose被认为是更好的做法.最后,请从链接文档中注意以下内容:
The SmtpClient class has no Finalize
method. So an application must call
Dispose to explicitly free up
resources.The Dispose method iterates through all established connections to the SMTP server specified in the Host property and sends a QUIT message followed by gracefully ending the TCP connection. The Dispose method also releases the unmanaged resources used by the underlying Socket.