这是我的代码:
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秒,我会记录一条消息
操作已经超时。
这是客户端设置还是实际的邮件服务器?
答案 0 :(得分:5)
当您无法连接到SMTP服务器时会发生此问题,这就是发生此超时消息的原因。因此,当您的客户端无法连接到SMTP服务器时,客户端上会出现此消息:
100秒是默认值,如下所述: http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.timeout.aspx
可能存在多个问题,为什么会发生此问题,即您需要修复的SMTP地址错误,SMTP拒绝,端口设置,SSL配置等。
答案 1 :(得分:0)
我也在经历这个超时。问题似乎是我尝试发送的电子邮件只有一个电子邮件地址,但是重复了30多次(这是在开发环境中,实际收件人电子邮件地址已更改为开发者)。将这个数字减少到大约20,就解决了这个问题。显然,这是我自己的SMTP服务器特有的问题,但是如果其他所有方法都失败,则要查看收件人列表。