WHM/EXIM配置AWS SES发信报SMTP无法连接主机问题求助
排查修复步骤
第一步:修复EXIM问候主机名配置
你判断的主机名不匹配是WHM默认配置的常见问题,按以下步骤修改:
- 登录WHM后台,搜索进入Exim 配置管理器
- 切换到「高级编辑器」标签页,找到
smtp_banner配置项 - 把默认值里的
${primary_hostname}变量替换为你自己的.gg域名,保存配置 - 再找到
smtp_active_hostname配置项,同样修改为你的.gg域名,完成后重启Exim服务
第二步:修复TLS证书匹配错误
你的报错出在STARTTLS握手阶段,大概率是EXIM当前使用的cprapid.com证书和你实际使用的.gg域名不匹配,PHPMailer校验证书失败导致连接中断:
- 进入WHM的「SSL/TLS」→「管理Exim的SSL证书」
- 选择你为
.gg域名申请的有效SSL证书(如果没有先在对应cPanel账号里申请Let's Encrypt证书),替换掉当前的cprapid.com证书,重启Exim - 临时测试可在PHPMailer配置中添加以下代码跳过证书校验(仅限测试使用,生产环境必须配置正确证书):
$mail->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ) );
第三步:检查SES与基础网络配置
- 确认PHPMailer里的SMTP配置填写的是AWS SES对应区域的端点,端口选587(STARTTLS)或者465(SSL),不要使用25端口,DigitalOcean默认会封禁25端口的出站流量
- 确认你的SES账号已离开沙箱环境:沙箱环境下仅能给已验证的收件人地址发信,未验证收件人会触发发送失败
- 检查Droplet系统防火墙、WHM防火墙是否放行587/465端口的出站流量
所有配置修改完成后,重启Exim和对应站点的Web服务,再测试发信即可。
内容的提问来源于stack exchange,提问作者Joel
相关产品推荐
相关产品推荐

