WP Mail SMTP发送邮件无报错但未送达,服务器提示Connection refused求助
针对你遇到的WP Mail SMTP显示邮件发送成功但实际未送达,且服务器日志报AH01071: Got error 'PHP message: Connection refused'的问题,可按以下步骤排查解决:
核对Mailjet SMTP端口与加密配置
Mailjet官方SMTP端口为465(SSL加密)、587(TLS加密),确保WP Mail SMTP中设置的端口与加密方式严格匹配:587对应TLS,465对应SSL,避免端口与加密方式混用导致连接失败。检查服务器防火墙/安全组出站规则
多数主机商会默认限制出站SMTP端口,需确认服务器防火墙(如cPanel防火墙、服务器iptables/ufw)已放行465、587端口,且允许服务器向smtp.mailjet.com发起出站连接。若自己无法操作,直接联系主机商协助开放端口。测试服务器与Mailjet SMTP的连通性
登录服务器SSH终端,执行以下命令测试连接:# 测试587端口 telnet smtp.mailjet.com 587 # 测试465端口 telnet smtp.mailjet.com 465若命令返回连接失败,说明网络层面存在阻断,需联系主机商排查服务器网络限制。也可使用curl命令辅助测试:
curl -v smtp://smtp.mailjet.com:587验证PHP关键配置与扩展
新建phpinfo.php文件(内容为<?php phpinfo(); ?>)上传至站点根目录并访问,确认:allow_url_fopen设置为On- OpenSSL扩展已启用
若未满足,在cPanel的PHP设置面板或php.ini中调整配置,或联系主机商协助开启。
检查Mailjet账户状态
登录Mailjet后台,查看账户是否存在欠费、发送限制等异常状态;同时检查Mailjet的发送日志,确认是否有来自服务器的连接请求被拒绝或丢弃。切换WP Mail SMTP传输模式
在WP Mail SMTP设置中,尝试切换传输模式:若当前使用Mailjet API集成,改为SMTP模式;若使用SMTP模式,尝试换成API模式(需确保Mailjet API密钥配置正确),看是否能绕过连接限制。排查SELinux限制(Linux服务器)
若服务器启用了SELinux,可能会阻止PHP发起出站SMTP连接。可临时执行setenforce 0关闭SELinux测试,若邮件能正常发送,再配置SELinux规则允许相关连接,或联系主机商处理。
内容的提问来源于stack exchange,提问作者Theoria Dev

