问题 发送邮件时拒绝中继访问,网络外的其他域


发送邮件导致错误“中继访问被拒绝”。

每当我尝试从“outside_network”向“other_domain”发送邮件时,它就会抛出“Relay access denied”。 它适用于“outside / inside_network”中的“myown_domain”和“inside_network”中的“other_domain”。

这是telnet命令列表。

mail from:myself@mydomain.com
- 250 2.1.0 Ok
rcpt to:yourself@mydomain.com
- 250 2.1.5 Ok
rcpt to:yourself@yourdomain.com
- 554 5.7.1 <yourself@yourdomain.com>: Relay access denied.
rcpt to:yourself@gmail.com
- 554 5.7.1 <yourself@gmail.com>: Relay access denied.
rcpt to:yourself@yahoo.com
- 554 5.7.1 <yourself@yahoo.com>: Relay access denied.

我按照“中描述的所有步骤”Microsoft支持“并确保以正确的方式配置服务器并且不拒绝任何邮件。我还试图通过使用几个博客来追踪 这个

虽然使用MxToolbox也得到了相同的结果“中继访问被拒绝”。

由于“继电器访问被拒绝”是非常普遍的问题..有很多博客/文档在那里..我试图阅读所有,但我认为我在错误的地方看。

有人有什么建议吗?


7898
2018-06-26 22:44


起源



答案:


如果您尝试从网络外部向您的服务器不具有权威性的域发送电子邮件时拒绝中继访问,则表示您的接收连接器未授予您发送/中继的权限。您需要做的最有可能的事情是向服务器进行身份验证以获得中继权限,但这取决于接收连接器的配置。在Exchange 2007/2010/2013中,您需要启用ExchangeUsers权限组以及基本身份验证等身份验证机制。

一旦确定配置了接收连接器,请确保您的电子邮件客户端配置为进行身份验证以及SMTP服务器。这取决于您的服务器设置,但通常对于Exchange,您可以自己配置用户名,不需要为域添加或添加前缀。

要通过telnet进行身份验证测试,您可以在此处查看我的帖子以获取指示: https://jefferyland.wordpress.com/2013/05/28/essential-exchange-troubleshooting-send-email-via-telnet/


10
2018-06-27 21:01





配置 $mail->SMTPAuth = true; 对我来说是解决方案。原因是因为没有身份验证,邮件服务器会回答'Relay access denied'。因为把它放在我的代码中,所有邮件都可以正常工作。


1
2017-12-02 23:26





我使用THUNDERBIRD作为MUA,我有同样的问题。 我解决了在main.cf上的mynetworks参数上添加家用电脑的IP地址

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 MyIpAddress

附:我的家用电脑没有静态IP,所以当我的ISP改变它时,我每次都要进行调整。


0
2017-07-25 09:25





如果使用PHPmailer类,请将SMTP身份验证设置为true:

$mail->SMTPAuth = true;

-2
2018-02-10 06:18



虽然这个答案还不够,但它应该是不正确的 $mail->SMTPAUTH = true; - PhpDude


答案:


如果您尝试从网络外部向您的服务器不具有权威性的域发送电子邮件时拒绝中继访问,则表示您的接收连接器未授予您发送/中继的权限。您需要做的最有可能的事情是向服务器进行身份验证以获得中继权限,但这取决于接收连接器的配置。在Exchange 2007/2010/2013中,您需要启用ExchangeUsers权限组以及基本身份验证等身份验证机制。

一旦确定配置了接收连接器,请确保您的电子邮件客户端配置为进行身份验证以及SMTP服务器。这取决于您的服务器设置,但通常对于Exchange,您可以自己配置用户名,不需要为域添加或添加前缀。

要通过telnet进行身份验证测试,您可以在此处查看我的帖子以获取指示: https://jefferyland.wordpress.com/2013/05/28/essential-exchange-troubleshooting-send-email-via-telnet/


10
2018-06-27 21:01





配置 $mail->SMTPAuth = true; 对我来说是解决方案。原因是因为没有身份验证,邮件服务器会回答'Relay access denied'。因为把它放在我的代码中,所有邮件都可以正常工作。


1
2017-12-02 23:26





我使用THUNDERBIRD作为MUA,我有同样的问题。 我解决了在main.cf上的mynetworks参数上添加家用电脑的IP地址

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 MyIpAddress

附:我的家用电脑没有静态IP,所以当我的ISP改变它时,我每次都要进行调整。


0
2017-07-25 09:25





如果使用PHPmailer类,请将SMTP身份验证设置为true:

$mail->SMTPAuth = true;

-2
2018-02-10 06:18



虽然这个答案还不够,但它应该是不正确的 $mail->SMTPAUTH = true; - PhpDude