通过第三方SMTP服务器25端口发信报454 4.7.1中继访问被拒如何解决
SMTP 454 4.7.1 Relay access denied 报错原因及解决方案
454 4.7.1
Relay access denied本质是SMTP服务器拒绝了你的邮件转发请求,服务器不认可你有权限通过它向目标收件人发信。
常见报错原因
- 未开启SMTP身份验证:大多数公开SMTP服务器默认要求发件人先进行账号密码验证,你当前telnet测试仅用了HELO命令,没有走AUTH认证流程,服务器识别到你是未授权的客户端,直接拒绝转发。
- 发信IP不在SMTP服务器的白名单内:部分企业内部SMTP服务会配置可信IP段,你的应用服务器IP
171.21.1.21没有被加入到目标SMTP服务器的允许转发IP列表中,即便收件人域名是该SMTP负责的域名也会被拦截。 - 发件人/收件人域名配置错误:你当前填写的发件人地址
fromxxx@smtphost.com未在SMTP服务器上登记、或者目标收件人域名不属于该SMTP服务的托管范围,同时你没有外发转发权限,就会触发该报错。 - 端口与传输协议不匹配:25端口默认是明文传输端口,很多SMTP服务器现在要求25端口仅用于服务器间通信,客户端发信需要走587(STARTTLS)或者465(SSL/TLS)加密端口,走25端口直接提交发信请求会被拒绝。
对应解决方案
- 补充SMTP身份验证流程:在HELO/EHLO命令后增加AUTH认证步骤,提交你的SMTP账号密码(注意密码通常需要转成Base64编码),验证通过后再执行mail from、rcpt to命令,telnet测试的完整认证流程参考:
EHLO 171.21.1.21 AUTH LOGIN <输入Base64编码的SMTP账号> <输入Base64编码的SMTP密码> mail from: fromxxx@smtphost.com rcpt to: toxxxx@smtphost.com
- 申请IP白名单:如果是企业内部SMTP服务,联系SMTP运维人员,将你的应用服务器IP
171.21.1.21加入到允许转发的IP白名单中,无需认证即可通过该IP发信。 - 核对发件人权限与收件人域名:确认你使用的发件人地址
fromxxx@smtphost.com已经在SMTP服务器上开通了发信权限,同时确认目标收件人域名属于该SMTP服务的管理范围,若需要发往外域需要额外申请外发转发权限。 - 更换发信端口:如果25端口被限制,尝试切换到587端口(需开启STARTTLS加密)或者465端口(需开启SSL/TLS加密)提交发信请求,大多数第三方SMTP服务商的客户端发信默认使用这两个加密端口。
内容的提问来源于stack exchange,提问作者Hosain Ahmed
相关产品推荐
相关产品推荐

