C# 发送邮件失败。-System.IO.IOException:无法从传输连接读取数据:net\u IO\u connectionclosed

C# 发送邮件失败。-System.IO.IOException:无法从传输连接读取数据:net\u IO\u connectionclosed,c#,web-services,email,C#,Web Services,Email,我使用下面的代码位从我的web服务发送电子邮件 var emailMessage = new MailMessage(fromaAdress, toAdress) { Subject = subject, IsBodyHtml = true, Body = body }; var smtp = new SmtpClient() { Host = "smtp.sendgrid.net", Port = 25, EnableSsl = false, De

我使用下面的代码位从我的web服务发送电子邮件

var emailMessage = new MailMessage(fromaAdress, toAdress)
{
   Subject = subject,
   IsBodyHtml = true,
   Body = body
};

var smtp = new SmtpClient()
{

   Host = "smtp.sendgrid.net",
   Port = 25,
   EnableSsl = false,
   DeliveryMethod = SmtpDeliveryMethod.Network,
   UseDefaultCredentials = false,
   Credentials = new NetworkCredential("xxxxx", "xxxxxx"),
   Timeout = 10000
};

smtp.Send(emailMessage);
  • Web服务可以与登台服务器和测试服务器完美配合
  • 不工作,并在prod服务器上抛出错误(我将其用作其他表单的服务) 网络应用程序)
  • 但当我在同一个域中使用应用程序(xxx.com/sendmailTest app和xxx.com/sendmailservice)时,它就起作用了。环境的不同之处在于产品安装了SSL。我已经更改了SSL启用587端口。还是一样的错误
  • 谁能帮我找到这个问题吗


    提前感谢。

    PROD机器是否有更严格的防火墙,端口是否关闭?请看这里:“许多主机提供商和ISP默认情况下会阻止端口25。当尝试连接到smtp.sendgrid.net时,请记住端口25、2525、587和465都可以使用。您可以通过未加密或端口25、2525和587上的TLS进行连接。您也可以通过端口465上的SSL进行连接。”感谢Rick的快速回复。请记住,我可以在同一个域内发送电子邮件。没有端口或防火墙问题,我可以研究。