我有以下课程:
public class Email
{
public System.Net.Mail.SmtpClient SmtpClient
{
get
{
if (_client == null)
{
_client = new System.Net.Mail.SmtpClient();
}
return _client;
}
}
}
并使用它
static Email email = new Email();
(方法中)
email.SmtpClient.Send(message);
在对此代码进行一些调用后,我得到了异常:
服务不可用,关闭传输通道。服务器 回复是:4.4.2服务超时。
为什么?
答案 0 :(得分:1)
此错误可能是因为您超出MessageRateLimitExceeded
(这会限制发送多条消息的速度)或连接已断开。
SMTP服务器上还有其他配置参数,可以限制每个会话可以发送的数据量和数量。 SmtpClient还管理池中的连接,
所以我认为在你发送几条消息之后创建一个新的客户端会更好。您还必须配置客户端以确保客户端向服务器发送QUIT消息。
有关错误情况的详细信息,请阅读此MSDN Article。