PHPMailer发送邮件报SMTP 553错误,如何排查解决?
解决PHPMailer发送邮件出现SMTP 553中继错误的方案
核心问题原因
错误提示里的Relaying disallowed as tr_xxxx@gmail.com明确说明:你正在使用Zoho的SMTP服务器发送Gmail域名的邮件,而Zoho的SMTP服务默认不允许中继非自身平台/域名的发件地址,这是导致553错误的根本原因。
需要检查和修改的配置项
- 修正发件人地址:必须使用Zoho平台注册的邮箱作为发件人(比如
xxx@yourzohodomain.com),不能用gmail或其他第三方邮箱。在代码里添加或修改:$mail->setFrom('your-zoho-email@your-domain.com', '你的发件人名称'); - 配置SMTP认证信息:确保你已经正确设置了Zoho邮箱的SMTP账号和密码,代码里补充:
$mail->SMTPAuth = true; $mail->Username = 'your-zoho-email@your-domain.com'; // 和发件人一致的Zoho邮箱 $mail->Password = 'your-zoho-email-password'; // 如果开启了2FA,这里要用Zoho生成的应用专用密码 - 确认Zoho SMTP服务器设置:如果是普通Zoho邮箱,
smtp.zoho.com+465端口+SSL是正确的;如果是Zoho Workplace专业版,可尝试改用smtppro.zoho.com,端口同样用465。 - 检查收件人地址格式:确保收件人邮箱格式正确,没有拼写错误,避免因收件人无效触发服务器拦截。
额外注意事项
如果开启了Zoho邮箱的双因素认证(TFA),不能直接用邮箱登录密码,必须在Zoho账户的安全设置里生成一个应用专用密码,用这个密码替换代码里的Password值。
内容的提问来源于stack exchange,提问作者Chonticha Poosub
相关产品推荐
相关产品推荐

