AWS WHM cPanel服务器上Laravel邮件配置失效求助
解决方案
问题根源
报错显示连接的证书CN是98-81-57-227.cprapid.com而非smtp.gmail.com,说明你的共享主机拦截了SMTP请求,将流量路由到了主机自身的邮件服务器,导致证书验证失败。
具体解决步骤
联系主机提供商确认SMTP路由设置
很多WHM/cPanel共享主机会强制中转所有外部SMTP流量,需要联系AWS托管的cPanel服务商,要求允许你的应用直接连接外部SMTP服务器(如smtp.gmail.com),关闭SMTP流量的强制拦截。切换SMTP端口与加密方式
修改.env配置,改用SSL端口465尝试:MAIL_PORT=465 MAIL_ENCRYPTION=ssl执行以下命令清除Laravel配置缓存:
php artisan config:clear php artisan config:cache临时跳过证书验证(仅测试用,不推荐生产环境)
编辑config/mail.php中的smtp配置项,添加证书验证跳过的流上下文:'smtp' => [ 'transport' => 'smtp', 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), 'port' => env('MAIL_PORT', 587), 'encryption' => env('MAIL_ENCRYPTION', 'tls'), 'username' => env('MAIL_USERNAME'), 'password' => env('MAIL_PASSWORD'), 'timeout' => null, 'local_domain' => env('MAIL_EHLO_DOMAIN'), 'stream' => [ 'ssl' => [ 'allow_self_signed' => true, 'verify_peer' => false, 'verify_peer_name' => false, ], ], ],完成后同样执行配置缓存清除命令。
检查Gmail应用专用密码
如果你的Gmail账号开启了两步验证,必须使用应用专用密码作为MAIL_PASSWORD,普通登录密码无法用于SMTP连接。前往Google账号的安全设置生成应用专用密码后替换配置中的密码。
内容的提问来源于stack exchange,提问作者Wasim Akram
相关产品推荐
相关产品推荐

