尝试为我的本地 Web 应用程序访问 google.com 时出错

Error while trying to get access to google.com for my local web application

我希望你们中的一些人能给我一些关于这个问题的有用的指导!我快疯了! 事实是这样的: 我想通过我的本地 Web 应用程序使用 Google SMTP 发送电子邮件。我在我的应用程序的根文件夹中创建了一个 .json 文件,如下所示:

{
"require": {
    "phpmailer/phpmailer": "^5.2",
    "league/oauth2-client": "^1.0"
}}

为了通过编译器下载和安装所需的 PHPMailer 和 oauth2client。 然后我在 google developer console 中创建了一个新项目并对其进行了配置:我启用了 gmail API,获得了正确的凭据(ID 和 SECRET)并像这样设置了授权的直接 URI:

http://localhost/folder1/vendor/phpmailer/phpmailer/get_oauth_token.php

现在我用获得的凭据编辑了 get_oauth_token.php,但是当我尝试在浏览器中插入以前的 URI 以获取权限时发生错误:

Fatal error: Class 'League\OAuth2\Client\Provider\Google' not found in C:\xampp\htdocs\folder1\vendor\phpmailer\phpmailer\get_oauth_token.php on line 28

我无法继续.. 我尝试使用主 php 脚本发送和发送电子邮件,但显然我无法访问并且服务器拒绝了我的请求。有什么建议么? 谢谢,祝你有美好的一天!

PHPMailer composer.json 默认情况下不能要求联盟 OAuth2 包,原因有两个:

  • 它们将在 PHP 版本 < 5.4 上中断,PHPMailer 的其余部分支持回到 5.0
  • 不是每个人都需要它们。

由于这些原因,它们位于 composer.json 的 'suggests' 部分,因此您需要为您的项目手动要求它们。这样做,自动加载器就能找到它们。

遇到了完全相同的问题。我所做的是安装:

composer require league/oauth2-google

问题消失了

;)