尝试访问google.com以获取本地Web应用程序时出错

时间:2015-10-08 10:22:04

标签: php email web-applications gmail phpmailer

我希望有人能就这个问题给我一些有用的指示!我生气了! 事实是这样的: 我想使用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以获取权限时,错误正在发生:

  

致命错误:Class' League \ OAuth2 \ Client \ Provider \ Google'在第28行的 C:\ xampp \ htdocs \ folder1 \ vendor \ phpmailer \ phpmailer \ get_oauth_token.php 中找不到

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

2 个答案:

答案 0 :(得分:10)

有完全相同的问题。我做的是安装:

composer require league/oauth2-google

问题消失了

答案 1 :(得分:2)

默认情况下,PHPMailer composer.json无法使用联盟OAuth2包,原因有两个:

  • 他们将破解PHP版本< 5.4和PHPMailer的其余部分支持返回5.0
  • 不是每个人都需要它们。

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