我尝试使用pineApp服务器从位于DMZ的Web服务发送电子邮件,该服务器假设将邮件移动到LAN内的Exchange服务器。 ASMX所在的IIS服务器在pineApp服务器上定义为中继。
我正在
远程主机强行关闭现有连接
我不知道为什么。如果我从局域网内部进行测试并直接调用交换机,它可以正常工作。
这是我使用的代码:
MailMessage mailMessage = new MailMessage();
mailMessage.From = new MailAddress("mail@stam.co.il");
MailAddress mailMessageTo = new MailAddress(Recipients);
mailMessage.To.Add(mailMessageTo);
mailMessage.Subject = Subject;
mailMessage.Body = Body;
mailMessage.IsBodyHtml = true;
SmtpClient smtpClient = new SmtpClient(SmtpClientName,25);
smtpClient.EnableSsl = false;
smtpClient.UseDefaultCredentials = false;
smtpClient.Send(mailMessage);
我希望我包含所有信息。
答案 0 :(得分:0)
可能导致此问题的原因是: 发送电子邮件。等待很长时间,例如10分钟。使用相同的连接发送另一封邮件。 在这种情况下,您的.net客户端认为连接仍处于打开状态。 但是,SMTP服务器终止了服务器端的连接。
我们对此做了什么: 如果innerexception是IOException,我们处理SmtpClient对象,创建一个新对象并重试发送电子邮件