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

localhost环境下PHP通过Gmail账号无法发送邮件问题咨询

本地PHP环境通过Gmail发信的可行方案

2022年5月30日Google正式下线Less secure apps(低安全性应用) 接入权限后,原直接使用账号密码登录SMTP发信的方式已完全失效,localhost本地开发环境可通过以下几种稳定方案实现发信需求:

  • 方案1:使用应用专用密码走SMTP发信(代码改动最小)
    该方案适配绝大多数原有PHPMailer等发信组件的代码,仅需替换密码即可,前提是所用Gmail账号已开启两步验证:

    1. 登录Google账号安全中心,确认两步验证功能已正常开启
    2. 在两步验证设置页底部找到「应用专用密码」入口,应用类型选择「邮件」,设备类型选择自定义,填入便于识别的备注名(比如本地PHP测试),点击生成即可得到16位长度的专用密码
    3. 将原PHP发信代码中填写的Gmail账号登录密码,替换为这串16位专用密码即可,SMTP配置无需改动:服务器地址为smtp.gmail.com,加密端口优先选465(SSL),备选587(TLS)。
      该方案完全支持本地localhost环境,不需要将项目部署到公网,也不需要额外注册其他服务。
  • 方案2:对接Gmail API发信(稳定性最高)
    如果项目后续要上线到公网,使用API对接的方式不受SMTP安全策略调整影响,长期稳定性更好:

    1. 登录Google Cloud控制台创建新项目,搜索并启用Gmail API服务
    2. 在API凭据管理页创建OAuth2.0客户端ID,授权类型选择「桌面应用」(本地测试选该类型无需配置公网域名回调),下载生成的凭据配置文件
    3. PHP端可通过PHPMailer搭配Gmail API官方客户端库实现发信,首次运行时会唤起浏览器完成账号授权,授权后生成的刷新令牌长期有效,后续发信无需重复验证。
      该方案缺点是首次配置步骤稍多,但不会出现密码失效、权限被误收回的问题。
  • 方案3:使用替代发信渠道(配置成本最低)
    如果不想调整Google账号安全配置,可以直接换用其他发信渠道适配本地开发:

    1. 开发调试阶段可以直接用本地邮件捕获工具(比如MailHog、Mailpit),无需对接真实发信服务,本地就能直接查看所有测试邮件的内容,完全不会出现误发真实邮件的问题
    2. 需要真实发信的场景可以选用第三方事务邮件服务,这类服务大多提供足够个人开发使用的免费发信额度,注册后直接拿到SMTP配置信息,替换代码里的原有Gmail SMTP参数即可使用,配置门槛极低。

不要尝试使用非官方手段绕过Google的安全限制,这类操作极易触发账号风控,轻则临时限制发信权限,重则导致账号被永久锁定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 19:57:27