发送邮件会导致错误“拒绝中继访问”。
每当我尝试从“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 Support”中描述的所有步骤进行操作,并确保以正确的方式配置服务器并且不拒绝任何邮件。我还尝试使用像this one这样的博客来追踪。
虽然使用MxToolbox也得到了相同的结果“Relay access denied”。
由于“继电器访问被拒绝”是非常常见的问题..有很多博客/文档在那里..我试图阅读所有,但我想我在错误的地方看。
有人有任何建议吗?
答案 0 :(得分:12)
如果在尝试从网络外部向您的服务器不具有权威性的域发送电子邮件时拒绝中继访问,则表示您的接收连接器未授予您发送/中继的权限。您需要做的最有可能的事情是向服务器进行身份验证以获得中继权限,但这取决于接收连接器的配置。在Exchange 2007/2010/2013中,您需要启用ExchangeUsers权限组以及基本身份验证等身份验证机制。
确定您的接收连接器已配置后,请确保您的电子邮件客户端已配置为进行身份验证以及SMTP服务器。这取决于您的服务器设置,但通常对于Exchange,您可以自己配置用户名,不需要为域添加或添加前缀。
要通过telnet进行身份验证测试,您可以在此处查看我的帖子以获取路线:https://jefferyland.wordpress.com/2013/05/28/essential-exchange-troubleshooting-send-email-via-telnet/
答案 1 :(得分:2)
配置$mail->SMTPAuth = true;
是我的解决方案。原因是因为没有身份验证,邮件服务器会回答'Relay access denied'。因为把它放在我的代码中,所有邮件都可以正常工作。
答案 2 :(得分:-1)
我使用THUNDERBIRD作为MUA,我也有同样的问题。 我解决了在main.cf上的mynetworks参数中添加家用PC的IP地址
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 MyIpAddress
P.S。我的家用电脑没有静态IP,所以当我的ISP改变它时,我每次都要进行调整。
答案 3 :(得分:-2)
如果使用PHPmailer类,则将SMTP身份验证设置为true:
$mail->SMTPAuth = true;