asp.net - 信箱不可用。 服务器响应是:5.7.1无法中继[email protected]




email iis-7 (6)

作为一张图片胜过千言万语。

当您找到IIS6管理器(我发现搜索IIS可能会返回2个结果),请转到SMTP服务器属性,然后选择“访问”,然后按继电器按钮。

然后,你可以选择全部或只允许某些IP如127.0.0.1

当我尝试使用ASP.NET发送邮件时,出现“ 邮箱不可用。服务器响应为:5.7.1无法为[email protected]中继 ”。 该网站部署在IIS7,Windows 2008服务器上。

该网站在IIS6和Windows 2003 Server上运行良好 。 我将它部署在IIS7上,2008年它已经开始给我这个错误。

有没有人经历过这个?


啊哈得到它...我得到了它的工作:)

谢谢克里斯托弗,你的建议是正确的。

但是,找到“默认SMTP虚拟服务器”是棘手的;)

即使您使用IIS7来部署您的网站,您也必须打开IIS6管理器来配置SMTP服务器(为什么?)。

我配置SMTP服务器如下,使事情工作:

  1. 使用控制面板 - >管理工具打开IIS6管理器。
  2. 打开SMTP虚拟服务器属性。
  3. 在常规选项卡上,设置Web服务器的IP地址而不是“全部未分配”。
  4. 在Access选项卡中,点击Relay按钮,这将打开Relay Restrictions对话框。
  5. 在中继计算机列表中,添加回送IP地址,即127.0.0.1和Web服务器的IP地址,以便他们可以通过/传递通过SMTP服务器的电子邮件。

想要分享我的情况中导致错误的原因。 花几个小时来解决这个问题,所以希望它能帮助人们节省一些时间。

奇怪的是,这个错误是在为该域启用了Enable drop directory quota设置的情况下产生的。

我不是专家,也不知道技术上的解释,但是解除提到的设置来排序问题。


感谢Vinod提出的良好答案。

当我按照上述步骤操作时,我遇到了和米克伯恩一样的错误。 回到所有未分配的排序它,但我不得不调整一些其他的东西:

  • 将我的网站运行的用户添加到SMTP虚拟服务器中安全选项卡上的用户。
  • 将web.config中mailSettings> network> host属性中的值更改为特定服务器IP(例如192.168.100.120),而不是localhost(它指向hosts文件中的127.0.0.1)。

希望这能节省几分钟的时间。


我遇到了同样的问题,并且遵循了Vinod回复中的(非常明确的)步骤,但是这样做却产生了一个不同的错误:

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

我做了更多的挖掘和探索,并且(虽然我不确定为什么这会奏效),我通过以下方式解决了这个问题:
- 回到IIS6.0管理控制台
- 打开SMTP虚拟服务器属性
- 在常规选项卡上,将“IP地址:”设置更改回“(全部未分配)”

不知道为什么这会起作用,但希望能帮助未来面临同样问题的人。


这里的答案是...... IIS设置

IIS - >默认SMTP虚拟服务器 - >属性 - >访问 - >中继限制只是添加或排除你关心的IP,应该可以解决问题。