Linux下PHPMailer发送邮件报错502 Bad Gateway,如何排查解决?

5 02 错误,先查资源:内存CPU顶不住。

PHPMailer权限不足,打开allow_url_fopen。

sendmail路径错,重启PHP。

防火墙挡路,UFW放行2 5 /4 6 5 /5 8 7
邮件配置错,用telnet验SMTP。

超时设置短,加到3 0秒。

错误处理要全,捕获异常。

代码逻辑,检查参数,别忘初始化。

Nginx和PHP-FPM通信断,重启看日志。

邮件服务商封锁,换端口或用应用密码。

自己掂量。

Linux下PHPmailer发送邮件报错502 Bad Gateway如何解决?

5 02 BadGateway错误通常由Web服务器配置或资源问题导致。

Web服务器配置:
资源耗尽:用top命令检查,pm.max_children调高。
内存不足加内存。

超时过短:php.ini设max_execution_time为3 00。
Nginx调proxy_read_timeout。

防火墙:telnet测试端口。
iptables/ufw检查规则。
云安全组检查。

PHPMailer代码:
邮件服务器配置:SMTP地址/端口/密码核对。
4 6 5 用SSL,5 8 7 用TLS。

代码逻辑:检查isSMTP/setFrom调用。
try-catch加异常处理。

权限问题:检查运行用户网络权限。
sudo切换用户测试。

邮件服务器:
邮件服务器故障:联系服务商。
更换SMTP(如Gmail->SendGrid)。

DNS解析:nslookup测试。
修改/etc/resolv.conf用8 .8 .8 .8
调试:
启用日志:$mail->SMTPDebug=2 查Nginx /var/log/nginx/error.log。

简化测试:swaks命令行测试。

逐步排查:先确认端口连通,再独立运行PHP代码。

提示:先查Web服务器top命令输出。