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

使用PHPMailer调用Gmail发邮件遇SMTP认证失败求助

解决Gmail + PHPMailer认证失败的可行方案

方案1:使用应用专用密码(需开启两步验证)

  • 前提:你的Gmail账户必须开启两步验证
  • 生成步骤:
    1. 登录Google账户,进入「安全」设置
    2. 找到「应用专用密码」选项(仅开启两步验证后可见)
    3. 选择应用为「邮件」,设备选「其他(自定义名称)」(比如填「PHPMailer」)
    4. 生成后会得到一串16位密码,替换代码里的Password字段即可

修改后的关键代码片段:

$mail->Username = 'lsurahman157@gmail.com';
$mail->Password = '生成的16位应用专用密码'; // 替换为实际生成的密码

方案2:启用OAuth 2.0授权(推荐,更安全)

PHPMailer原生支持OAuth 2.0,需先在Google Cloud平台配置凭据:

  1. 登录Google Cloud控制台,创建新项目
  2. 启用「Gmail API」
  3. 创建「OAuth客户端ID」,应用类型选「桌面应用」
  4. 获取客户端ID、客户端密钥,生成刷新令牌
  5. 修改PHPMailer配置,切换为OAuth认证

修改后的完整代码示例:

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\OAuth;

require 'vendor/autoload.php';

$mail = new PHPMailer(true);

try {
    //Server settings
    $mail->SMTPDebug = 2;
    $mail->isSMTP();
    $mail->Host = 'smtp.gmail.com';
    $mail->SMTPAuth = true;
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
    $mail->Port = 587;
    
    //OAuth配置
    $mail->AuthType = 'XOAUTH2';
    $mail->oauthUserEmail = 'lsurahman157@gmail.com';
    $mail->oauthClientId = '你的客户端ID';
    $mail->oauthClientSecret = '你的客户端密钥';
    $mail->oauthRefreshToken = '你的刷新令牌';

    //Recipients
    $mail->setFrom('lsurahman157@gmail.com', 'Full Name');
    $mail->addAddress('aonik1@lsu.edu', 'Abdur Rahman Onik');

    // Content
    $mail->isHTML(true);
    $mail->Subject = 'Subject Text';
    $mail->Body = '<i>Mail body in HTML</i>';
    $mail->AltBody = 'This is the plain text version of the email content';

    $mail->send();
    echo 'Message has been sent';
} catch (Exception $e) {
    echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}

方案3:改用Google Workspace SMTP(仅企业/教育账户)

如果使用Google Workspace(原G Suite)账户,可直接使用官方SMTP服务:

  • 保留现有代码结构,确保账户已在Workspace后台启用SMTP访问权限
  • 密码直接使用Workspace账户密码(需确认账户未限制SMTP登录)

方案4:切换到第三方邮件服务

若上述方案不适用,可改用SendGrid、Mailgun等第三方邮件服务,它们提供更灵活的SMTP或API集成方式,不受Gmail的安全限制。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 13:15:24