2022 年 5 月 30 日之后,当“不太安全的应用程序”不再是一个选项时,如何使用 PHPMailer?

Abd*_*man 10 php gmail smtp phpmailer

我已经使用PHPMailer很长时间了,通过启用"Less secure app"Google 设置中的选项,使用 Google 凭据(登录名和密码)发送电子邮件。

Google 通知,2022 年 5 月 30 日之后,Google 将不允许使用"Less secure app".

安全性较低的应用和您的 Google 帐户

在此输入图像描述

有没有其他方法可以从PHPMailer使用 Gmail SMTP 发送电子邮件而不使用该"Less secure app"功能?

小智 8

这种方法对我有用,你可以试试这个:

  1. 首先进入你的谷歌帐户管理并进入安全。
  2. 确保您的两步验证已启用。
  3. 然后转到应用程序密码。
  4. 在选择应用程序下拉菜单中选择其他,并命名为您喜欢的任何名称。
  5. 然后点击生成,谷歌会给你一个密码。确保复制它并将其保存在其他地方。
  6. 而不是在 PHPMailer 设置中使用您的真实 google 帐户密码,请使用您刚刚生成的密码。

  • 通过额外的支持信息可以改进您的答案。请[编辑]添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以[在帮助中心](/help/how-to-answer)找到有关如何写出好的答案的更多信息。 (2认同)

DaI*_*mTo 5

您需要做的是切换到XOAUTH2或使用 Oauth2 再次切换到 Gmail API。

$mail->oauthUserEmail = "[Redacted]@gmail.com";
$mail->oauthClientId = "[Redacted]";
$mail->oauthClientSecret = "[Redacted]";
$mail->oauthRefreshToken = "[Redacted]";
Run Code Online (Sandbox Code Playgroud)

未经用户许可,您无法发送电子邮件。如果您存储刷新令牌,您尝试发送邮件的 Gmail 帐户的所有者将需要授权该应用程序一次,您应该能够毫无问题地使用它。

请记住,您需要通过谷歌完成应用程序验证过程。因为您将使用敏感范围。

使用他们的登录名和密码不再是一种选择。