Ehs*_*hmi 5 c# email exchange-server timeout smtp
我正在使用以下代码通过 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);
}
Run Code Online (Sandbox Code Playgroud)
在大多数情况下,这可以正常工作并且发送电子邮件没有问题,但是在每 2 或 3 次成功发送后,它会因超时错误而失败 1 或 2 次(大约 10 秒后超时,这远小于客户端超时指定的 60 秒在我的代码中)。
我的邮件服务器是 MS Exchange & 位于通过 LAN 连接到客户端机器的同一个域中,所以我认为没有网络问题 & 它应该是由客户端或服务器中的配置不匹配引起的。
任何的想法?