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

Laravel配置Gmail SMTP发邮件报535认证失败如何解决

SMTP 535认证失败排查与解决方案

Gmail SMTP返回535用户名密码不接受错误,核心原因是Gmail已禁止使用账号登录密码直接走第三方SMTP认证,同时现有配置和代码存在几处会触发拦截的问题,按以下步骤逐一排查修复即可:

第一步:修正基础配置与代码错误

  • 统一发件人地址:当前.env中MAIL_FROM_ADDRESS设为null,代码里硬编码的发件人是xyz@gmail.com,和SMTP登录账号phptest01072003@gmail.com不一致,Gmail会直接判定为伪造发件人拦截请求。需要将.env中MAIL_FROM_ADDRESS的值改为和MAIL_USERNAME一致的邮箱地址,同时删除代码里硬写的$message->from(...)行,由Laravel自动读取配置生成发件人信息。
  • 清除配置缓存:修改.env文件后必须执行php artisan config:clear,否则Laravel会继续读取缓存中的旧配置,修改不生效。
  • 可选逻辑优化:当前代码把发信成功提示放在withErrors方法中传递,这个方法是专门用来返回表单校验错误的,成功提示建议改用->with('success', 'MAIL SENT SUCCESSFULLY')传递,避免前端提示样式错乱,该问题不影响SMTP认证流程。

第二步:使用Gmail应用密码替代账号登录密码(个人项目优先选这个方案,配置最简单)

Gmail现在仅支持两种SMTP认证方式:应用密码、OAuth2,直接填账号登录密码必然报错。使用应用密码的前提是Gmail账号已经开启两步验证,操作流程:

  1. 进入Gmail账号的安全设置页面
  2. 找到「应用密码」入口(仅开启两步验证后才会显示该选项)
  3. 应用类型选择「邮件」,设备选择当前部署项目的服务器/开发设备,点击生成
  4. 将生成的16位应用密码替换.env中MAIL_PASSWORD字段的原有值,不要填写平时登录Gmail用的账号密码

第三步:备选方案(不想开两步验证时使用):配置XOAUTH2认证

如果不想开启两步验证,就不能用LOGIN/PLAIN认证方式,需要走XOAUTH2流程:

  1. 在Google云控制台创建OAuth2凭据,获取客户端ID、客户端密钥、刷新令牌
  2. 安装Laravel对应的Gmail OAuth2驱动扩展包
  3. 将获取到的OAuth凭据填入.env对应配置项,将邮件认证驱动改为XOAUTH2即可
    该方案配置流程比应用密码复杂,非必要不选。

第四步:连通性验证

改完配置清缓存后先在测试环境验证发信,如果还是报错,逐一确认:

  • 填写的应用密码没有多输空格、漏输字符
  • 服务器出方向的587端口没有被防火墙、安全组拦截
  • 服务器IP没有被Gmail列入黑名单(国内云服务器IP经常会被Gmail拦截,出现这种情况建议换用第三方邮件服务)

修正后的参考配置

.env邮件部分配置:

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=phptest01072003@gmail.com
MAIL_PASSWORD=生成的16位Gmail应用密码
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=phptest01072003@gmail.com
MAIL_FROM_NAME="${APP_NAME}"

修正后的发信代码:

public function html_email() {
    $data = array('name'=>"HJ KING");
    Mail::send('layout.forgotpasswordmodel', $data, function($message) {
       $message->to(session('forgotemail'), 'HII, '.session('forgotfname'))->subject('ForgotPassword');
       // 移除硬编码的发件人配置,统一读取.env
    });
    return redirect()->back()->with('success', 'MAIL SENT SUCCESSFULLY');
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 12:27:13