You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 22:44:57