当前位置: 首页 > 编程语言 > C#

SMTPException:无法从传输连接读取数据:net_io_connectionclosed分享

时间:2023-04-11 02:45:54 C#

C#学习教程:SMTPException:无法从传输连接读取数据:net_io_connectionclosed当我尝试通过我的Web应用程序在我的本地计算机上发送电子邮件时,抛出SMTPException异常://onthisline:SmtpServer.Send(mail);无法从传输连接读取数据:net_io_connectionclosed。虽然生产代码完美运行,相同的代码、相同的连接、相同的凭据,但我使用IP而不是别名,我尝试关闭本地计算机上的防火墙,但没有任何帮助我解决这个问题。虽然以前在我的本地机器上工作过,但任何人都可以提示问题可能是什么吗?如果您使用的是住宅互联网连接,您的ISP通常会通过阻止所有到端口25的出站连接来阻止发送外发电子邮件。这在美国很常见。尝试通过TCP/IP连接到本地电子邮件服务器,或连接到您自己内部网络上的服务器。这篇文章包含一些。例如:看起来分配一个静态IP可能会成功。这个错误意味着System.net.mail找不到smtp服务器。答案取决于您拥有固定IP还是动态IP,但基本上,您需要为您的smtp服务器分配一个有效IP。对于固定IP,这相对简单。使用动态IP需要进行一些调整。打开IIS管理器并检查smtp服务器的属性。在默认SMTP虚拟服务器的属性中,在访问选项卡的连接控制和中继对话框中,确保分配了本地IP。(在我的例子中是10.0.0.2...)您可能还需要修改主机文件以将127.0.0.1指向您的计算机名称。(WINDOWSsystem32驱动程序等主机)然后,在您的代码中,将您的机器名称分配给smtp客户端:DimclientAsNewSmtpClient("yourmachinename")client.Send(mail)或者,同一线程中的另一个似乎有人找到了SMTP连接未正确关闭的解决方法。根据支持的解决方法设置SmtpClient.ServicePoint.MaxIdleTime=1:http:SmtpClient.ServicePoint.MaxIdleTime=1并使所有smtp工作。这是一个完整的示例:MailMessagemsgMail=newMailMessage();msgMail.To.Add(newMailAddress("info@somedomain.se"));msgMail.Subject="网络消息";msgMail.IsBodyHtml=true;msgMail.Body="测试邮件";SmtpClientClient=newSmtpClient();/*使用设置表单web.config*/Client.ServicePoint.MaxIdleTime=1;/*如果没有这个,连接空闲时间太长并且没有终止,在服务器超时并给出排序错误*/Client.Send(msgMail);msgMail.Dispose();System.Net.NetworkCredential(用户,密码);///错误System.Net.NetworkCredential(email,password);///因为某些电子邮件服务器可用,您使用的Gmail帐户对您每天/每月可以发送的电子邮件数量有限制,如果超过该限制,它将拒绝任何其他外发电子邮件。以上就是C#学习教程:SMTPException:Unabletoreaddatafromthetransmissionconnection:net_io_connectionclosed分享的全部内容,如果对大家有用还需要详细了解C#学习教程,希望大家多多关注——本文来自网络收集,不代表侵权,请点击右边联系管理员删除。如需转载请注明出处: