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

Laravel配置企业SMTP邮箱发送邮件认证失败该如何排查?

问题排查步骤

  • 第一步:确认企业邮箱SMTP配置参数正确性
    多数配置错误来源于参数不匹配,优先核对以下信息:
    1. SMTP地址是否为企业邮箱官方提供的正确地址,部分企业邮箱使用mail.jct.com等非默认前缀地址
    2. 端口及加密方式是否匹配:587端口对应tls加密,465端口对应ssl加密,部分服务商不支持587端口,可尝试切换为465端口+MAIL_ENCRYPTION=ssl
    3. 登录凭证是否正确:大部分企业邮箱要求使用专属授权码而非账号登录密码作为MAIL_PASSWORD的值,需到邮箱后台生成授权码填写
  • 第二步:清理Laravel配置缓存
    修改.env文件后如果未清理配置缓存,Laravel会继续使用旧的配置项生效,执行以下命令清理缓存:
    php artisan config:clear
    
    如果使用队列发送邮件,需重启队列worker进程加载新配置:
    php artisan queue:restart
    
  • 第三步:排查网络连通性问题
    登录部署代码的服务器,执行命令测试SMTP端口连通性:
    telnet smtp.jct.com 587
    # 或者使用nc命令
    nc -zv smtp.jtc.com 587
    
    如果连接失败,检查两个方向的限制:
    1. 服务器出站防火墙是否放开了587/465端口的访问权限
    2. 企业邮箱是否开启了SMTP访问IP白名单限制,将服务器公网IP添加到白名单即可
  • 第四步:调整SMTP认证配置
    部分企业邮箱对SMTP认证参数有特殊要求,可在config/mail.php的smtp配置块中追加以下参数调整:
    // 显式指定认证模式,可选值login/plain/cram-md5,根据邮箱支持的模式填写
    'auth_mode' => 'login',
    // 指定EHLO阶段使用的域名,部分服务商要求和发件人域名匹配
    'local_domain' => '你的站点正式域名',
    
  • 第五步:排查SSL证书验证问题
    如果企业邮箱使用自签名SSL证书,会被系统默认拦截导致连接中断,可先添加以下配置临时关闭证书验证测试是否正常:
    'stream' => [
        'ssl' => [
            'verify_peer' => false,
            'verify_peer_name' => false,
            'allow_self_signed' => true,
        ],
    ],
    
    注意:以上配置仅用于测试定位问题,生产环境请将企业邮箱的根证书导入服务器信任证书库,不要关闭证书校验避免安全风险

内容的提问来源于stack exchange,提问作者deskeay

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 17:15:03