gpt4 book ai didi

c# - 在 C# 中使用 SMTP 发送电子邮件偶尔会超时

转载 作者:行者123 更新时间:2023-11-30 18:25:04 25 4
gpt4 key购买 nike

我正在使用以下代码通过 Windows 域中的 MS Exchange 服务器发送电子邮件:

SmtpClient client = new SmtpClient();
client.Port = 25;
client.Host = "mail.mydomain.com";
client.EnableSsl = false;
client.Timeout = 60000;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Credentials = new System.Net.NetworkCredential("sender@mydomain.om", "password");
client.UseDefaultCredentials = false;

MailMessage mm = new MailMessage("sender@mydomain.com", "receiver@anotherdomain.com", "test", "test");
mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;

try
{
client.Send(mm);
MessageBox.Show("Success");
}
catch (Exception ex)
{
MessageBox.Show("Faild: "+ex.Message);
}

在大多数情况下,这工作正常并且发送电子邮件没有问题,但在每 2 或 3 次成功发送后,它会失败 1 或 2 次并出现超时错误(它在大约 10 秒后超时,远小于指定的 60 秒对于我的代码中的客户端超时)。
我的邮件服务器是 MS Exchange & 位于通过 LAN 连接到客户端机器的同一域中,所以我认为没有网络问题 & 它应该是由客户端或服务器的配置不匹配引起的。
有什么想法吗?

最佳答案

SmtpClient 类没有 Finalize 方法,因此应用程序必须调用 Dispose 来显式释放资源。如果还是不行,可以检查exchange server的连接限制设置。

关于c# - 在 C# 中使用 SMTP 发送电子邮件偶尔会超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30496852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com