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

时间:2010-07-02 12:42:21

标签: asp.net email iis-7 iis-6

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

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

以前是否有人经历过这个?

8 个答案:

答案 0 :(得分:108)

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

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

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

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

我按如下方式配置SMTP服务器以使其正常工作:

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

答案 1 :(得分:19)

这就是答案...... IIS Settings

IIS - >默认SMTP虚拟服务器 - >属性 - >访问 - >中继限制 只需添加或排除您关注的IP,就可以解决问题。

答案 2 :(得分:16)

我遇到了同样的问题,并按照Vinod的回复中的(非常清楚地说明的)步骤进行了操作,然而这又产生了一个不同的错误:

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

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

不确定为什么会这样,但希望将来可以帮助那些面临同样问题的人。

答案 3 :(得分:14)

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

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

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

SMTP Relay

答案 4 :(得分:5)

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

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

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

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

答案 5 :(得分:4)

我能够通过更改web.config的system.net部分中的邮件设置来解决此问题:

<mailSettings>
    <smtp deliveryMethod="Network">
        <network host="yourserver" defaultCredentials="true"/>
    </smtp>
</mailSettings>

答案 6 :(得分:2)

如果您有Exchange 2010

(在我的情况下,错误消息不包含“for abc@xyz.com”)

这显示了如何添加接收连接器:http://exchangeserverpro.com/how-to-configure-a-relay-connector-for-exchange-server-2010/

但我还需要执行此处的步骤:http://recover-email.blogspot.com.au/2013/12/how-to-solve-exchange-smtp-server-error.html

  
      
  • 转到Exchange命令行管理程序并运行命令
  •   
  • Get-ReceiveConnector“JiraTest”| Add-ADPermission -User“NT AUTHORITY \ ANONYMOUS LOGON” - ExtendedRights   “MS-EXCH-SMTP-的Accept-任何-收件人”
  •   

在处理此问题时,我在受影响的服务器的PowerShell控制台上运行以下内容,直到错误消失为止:

Send-MailMessage -From "myemail@server.com.au" -To "myemail@server.com.au" -Subject "Test Email" -Body "This is a test"

答案 7 :(得分:1)

想要分享导致我的错误的原因。花几个小时来解决这个问题,所以希望这有助于节省一些时间。

奇怪的是,在为域启用了Enable drop directory quota设置时引发了错误。

enter image description here

我不是专家,也不知道技术解释,但是解开上述设置可以解决问题。