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

Laravel 5.8项目部署至服务器后SMTP邮件认证失败求助

Laravel 5.8 服务器端SMTP认证失败(535错误)排查方案

针对本地正常、服务器部署后出现的Gmail SMTP 535认证错误,按以下步骤排查:

  • 移除.env中密码的单引号
    你的MAIL_PASSWORD配置加了单引号,Laravel解析.env时会将引号视为密码的一部分,导致实际传递的密码错误。修改为:

    MAIL_PASSWORD=你的16位Gmail应用密码
    

    修改后在服务器执行命令刷新配置缓存:

    php artisan config:clear
    php artisan config:cache
    
  • 确认Gmail应用密码有效性

    • 确保你的Gmail账号已开启两步验证,应用密码仅对开启两步验证的账号有效
    • 重新生成应用密码,生成时选择「邮件」作为应用类型,设备选「其他」,复制新生成的16位密码替换到.env中
    • 检查是否有其他设备使用同一应用密码导致冲突,可生成新密码单独用于服务器
  • 检查服务器网络与端口限制

    • 测试服务器能否访问Gmail的SMTP端口:
      # 测试465端口
      telnet smtp.googlemail.com 465
      # 或测试587端口(备选)
      telnet smtp.googlemail.com 587
      
      如果465端口无法连通,尝试切换到587端口并使用TLS加密:
      MAIL_PORT=587
      MAIL_ENCRYPTION=tls
      
    • 部分服务器IP可能被Google标记为可疑,可临时更换为其他SMTP服务(如SendGrid)测试,或联系服务器提供商确认IP是否在Google的黑名单中
  • 验证PHP扩展是否齐全
    确保服务器PHP已安装openssl扩展(SSL/TLS加密依赖),执行命令检查:

    php -m | grep openssl
    

    若未找到,需安装或启用该扩展(具体操作根据服务器系统而定,如Ubuntu用apt install php-openssl)

  • 查看Laravel日志细节
    打开storage/logs/laravel.log查看完整错误日志,确认是否有其他隐藏问题(如端口不通、加密方式不匹配等)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 08:50:12