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

谷歌停用低安全应用访问后PHPMailer用Gmail发信方案咨询

PHPMailer对接Gmail发信零改造替代方案

下面几个方案全不用动现有「联系我们」页面的核心发信逻辑、前端交互、表单规则,只需要调配置或者改几行参数就能落地:

  • 方案1:用Google应用专用密码替换原账号登录密码(优先选这个,零代码改动)
    低安全性应用权限确实下线了,但开了两步验证(2FA)的Google账号照样能用应用专用密码走SMTP发信,和原有PHPMailer配置100%兼容,半行业务代码都不用改。
    操作很简单:先给发信用的Gmail账号开两步验证,在账号安全设置里找到「应用专用密码」的生成入口,生成一个16位的专用发信密码,把PHPMailer配置里原来填的Gmail登录密码换成这个16位密码就行,其他参数全不用动,原来怎么写现在还怎么用:
    $mail->isSMTP();
    $mail->Host = 'smtp.gmail.com';
    $mail->SMTPAuth = true;
    $mail->Username = '你的完整Gmail地址';
    $mail->Password = '新生成的16位应用专用密码'; // 只需要换这一个值
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
    $mail->Port = 587;
    
    要是用的是Google Workspace企业邮箱,得先让管理员在后台开了允许用户用应用专用密码的权限;个人Gmail只要开了两步验证就能直接找到生成入口,根本没下线,别信网上说Gmail彻底不能用SMTP的误传。
  • 方案2:把SMTP源换成第三方事务邮件服务
    要是因为账号权限问题开不了应用专用密码,也不用重构业务,直接把PHPMailer里填的SMTP服务器地址、端口、认证账号密码,换成第三方事务邮件平台的SMTP接入参数就行。不管是国内的阿里云邮件推送、腾讯云SES,还是国外的SendGrid、Mailgun都支持,用自己网站的域名开通SMTP发信权限,换完连接参数,原来的表单提交、邮件内容拼装、收信规则全能正常跑,不用改上层逻辑。
  • 方案3:把SMTP认证方式换成XOAUTH2
    要是必须走Gmail原生发信通道、又用不了应用专用密码,也只需要换认证层的代码就行,上层发信逻辑一点不用动。去Google Cloud控制台给对应账号建个OAuth2凭据,拿到客户端ID、客户端密钥、刷新令牌,调用PHPMailer官方自带的XOAUTH2认证类做鉴权就可以,原来的邮件发送、结果返回、页面交互全不用改,也就多写十几行配置代码的事。

三个方案里第一个最省事,全程操作不超过5分钟,连代码都不用改,是维护存量站点的首选。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 15:06:08