信箱不可用.服务器响应为:5.7.1无法中继abc@xyz.com

Vin*_*til 84 asp.net email iis-7 iis-6

当我尝试使用ASP.NET发送邮件时,我收到" 邮箱不可用.服务器响应是:5.7.1无法中继abc@xyz.com ".该站点部署在IIS7,Windows 2008服务器上.

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

以前有人经历过这个吗?

Vin*_*til 109

Aahh得到了......我得到了它的工作:)

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

但是,找到"默认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服务器传递/中继电子邮件.

  • 在我的web.config中,我指的是名为"localhost"的smtp服务器.如果我按照步骤3,这个解决方案失败了; 如果我省略了第3步就行了.谢谢 :) (5认同)
  • 需要在IIS 6中管理的原因是因为IIS 7.X没有自己的SMTP服务器组件,因此它使用IIS 6. (3认同)

Chr*_*ein 20

这里有答案...... IIS设置

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

  • "默认SMTP虚拟服务器"在哪里?我正在使用IIS7.在IIS6中有"SMTP虚拟服务器"但在IIS中它不是吗? (2认同)

Mic*_*rne 17

我遇到了同样的问题,并按照Vinod的回复中的(非常明确的拼写)步骤,然后这产生了一个不同的错误:

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

我做了一些挖掘和探索(虽然我不确定为什么这有效)我解决了它:
- 回到IIS6.0管理控制台
- 打开SMTP虚拟服务器属性
- 在常规选项卡上,更改'IP地址:'回到'(全部未分配)'

不知道为什么会这样,但希望能帮助将来遇到同样问题的人.


Lee*_*one 15

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

当您找到IIS6管理器(我发现搜索IIS可能返回2个结果)时,转到SMTP服务器属性,然后"访问",然后按继电器按钮.

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

SMTP中继


Nik*_*ikG 5

感谢Vinod提供了很好的答案.

当我按照上面的步骤操作时,我得到了与Mick Byrne相同的错误.把它转回All Unassigned排序,但我还要调整其他一些东西:

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

希望这可以节省几分钟的时间.