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


84

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

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

有人经历过吗?



堆栈溢出是一个有关编程和开发问题的网站。使用Stack Exchange网络上的另一个站点。
jww

Answers:


115

Aahh知道了...我得到了它:)

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

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

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

我将SMTP服务器配置如下,以使其正常工作:

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

3
这需要在IIS 6中管理的原因是IIS 7.X没有自己的SMTP服务器组件,因此它使用IIS 6
MemeDeveloper

5
在我的web.config中,我通过名称“ localhost”引用我的smtp服务器。如果执行步骤3,则此解决方案失败;如果我省略了第3步,它将奏效。谢谢:)
Paul Suart

1
这也适用于IIS8和服务器2012
Isaac Bolinger

我们使用中继来通过Office 365中的帐户发送电子邮件。即使我们不使用Web服务器的smtp服务器,我是否仍需要在IIS 6中安装smtp服务器。这是在运行IIS 10的Windows Server 2016上。有人对此问题有任何建议或解决方案吗?先感谢您!
内森

非常感谢你!解决了我的问题。
Nanou Ponette

20

答案就在这里... IIS设置

IIS->默认SMTP虚拟服务器->属性->访问->中继限制仅添加或排除您关心的IP,即可解决此问题。


2
“默认SMTP虚拟服务器”在哪里?我正在使用IIS7。在IIS6中有“ SMTP虚拟服务器”,但是在IIS&中不是吗?
Vinod T. Patil,2010年

18

我遇到了同样的问题,并按照Vinod的回复中(非常清楚地阐明了)步骤进行了操作,但这随后产生了另一个错误:

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

我做了一些进一步的挖掘和探索,(我不确定为什么会这样),我通过以下方法解决了它:
-返回IIS6.0管理控制台
-打开SMTP虚拟服务器属性
-在“常规”选项卡上,更改“ IP地址:”设置回“(全部未分配)”

不确定为什么这样做,但希望将来能帮助遇到同样问题的人。


15

一张图片值得一千个字。

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

然后,您可以选择全部或仅允许某些IP,例如127.0.0.1

SMTP中继


5

感谢Vinod的出色回答。

遵循上述步骤时,我得到了与Mick Byrne相同的错误。将其返回“所有未分配的对象”进行了排序,但我还必须调整其他一些内容:

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

希望这可以节省一些麻烦。


4

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

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

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-用户“ NT AUTHORITY \ ANONYMOUS LOGON” -ExtendedRights“ ms-Exch-SMTP-Accept-Any-Recipient”

在进行此操作时,我在受影响的服务器的PowerShell控制台上运行了以下操作,直到错误消失:

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

1

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

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

在此处输入图片说明

我不是专家,也不知道技术说明,但是不注意提到的设置可以解决问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.