4

这是我的代码:

SmtpClient client = new SmtpClient();
client.UseDefaultCredentials = true;

using (client as IDisposable)
{
    foreach (MailAddress addr in Addresses)
    {
        if (addr != null) 
        {
            try 
            {
                message.To.Clear();
                message.To.Add(addr);
                client.Send(message);
            }
            catch (Exception ex) 
            {
                Log(ex);
            }
            i++;
        }
    }
}

每 100 秒,我记录一条消息说

操作已超时。

这是客户端设置还是在实际邮件服务器上?

4

2 回答 2

5

当您无法连接到 SMTP 服务器时会出现问题,这就是出现此超时消息的原因。因此,当您的客户端无法连接到您的 SMTP 服务器时,此消息会出现在您的客户端上:

100 秒是默认值,如下所述:http: //msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.timeout.aspx

为什么会出现这个问题可能有几个问题,即您需要修复的错误 SMTP 地址、SMTP 拒绝、端口设置、SSL 配置等。

于 2012-05-24T19:04:05.657 回答
0

我也正在经历这个超时。问题似乎是我试图发送的电子邮件只有一个电子邮件地址,但重复了 30 多次(这是一个开发环境,其中真正的收件人电子邮件地址更改为开发人员)。减少这个数字(大约 20 个)解决了这个问题。显然,这是我自己的 SMTP 服务器特有的问题,但如果其他所有方法都失败,则需要查看收件人列表。

于 2018-11-28T18:56:25.160 回答