发送电子邮件时遇到一些麻烦

时间:2012-01-05 16:59:46

标签: .net smtpclient

我有以下课程:

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服务超时。

为什么?

1 个答案:

答案 0 :(得分:1)

此错误可能是因为您超出MessageRateLimitExceeded(这会限制发送多条消息的速度)或连接已断开。 SMTP服务器上还有其他配置参数,可以限制每个会话可以发送的数据量和数量。 SmtpClient还管理池中的连接, 所以我认为在你发送几条消息之后创建一个新的客户端会更好。您还必须配置客户端以确保客户端向服务器发送QUIT消息。

有关错误情况的详细信息,请阅读此MSDN Article