当前位置: 首页 > 知识库问答 >
问题:

Gmail API PHP-阅读来自不同帐户的电子邮件

丁钟展
2023-03-14

背景:

我的gmail账户不是服务账户。我正在编写一个PHP CLI应用程序,用于检查来自特定发件人和特定主题的电子邮件。假设此应用程序用于自定义域,但不是GSuite的一部分。我无法在服务器范围内控制我们域的电子邮件。

我正在使用自己的凭证。json来自Google API门户的Auth文件。我修改了Quickstart中的代码,根据我的查询获取电子邮件,并获取我需要的特定电子邮件。(快速入门示例中的用户是“我”)。

参考:Gmail API的PHP文档

问题:

我怎样才能让这个应用程序适用于我所在领域内的任何用户?是否有任何可能的方法,我可以做到这一点,而不需要另一个帐户与服务器范围的授权(我希望这个词是正确的)访问?

例如

$tmp = new CustomClassUsingGmailAPI();
$emailIds = ["email1@customdomain", "email2@customdomain"];
foreach($emailIds as $emailId){
    $tmp->doTheRequiredTask($emailId);
}

共有1个答案

栾弘新
2023-03-14

您正在遵循的教程使用OAuth2来授权您的应用程序访问用户数据。

用户是“我”(来自Quickstart示例)。

实际上,用户总是登录并验证应用程序的人。访问私人用户数据的唯一方法是获得数据所有者的许可。

无法访问非gsuite域用户的电子邮件。这就是所谓的数据隐私和安全。未经我的许可,您和您的应用程序无法访问我的数据。

除非您将域转换为gsuite域,否则未经用户许可,您将无法访问该域的用户电子邮件。

 类似资料:
  • 在Firebase控制台中,我特别将其设置为只允许“每个电子邮件地址一个帐户”。这可以在“高级”下的“登录方法”选项卡上找到。 我有一个使用谷歌登录方法创建的帐户,它有一个类似“me@gmail.com”的地址。如果我选择通过Facebook使用一个也使用“me@gmail.com”的帐户登录,Firebase允许它,但用户实体中的电子邮件地址为空除外。 Firebase文档指出: 如果不允许使用

  • 您可以通过此界面创建和管理域的电子邮件帐户。 您可以创建电子邮件地址,配置邮件客户端,更改密码以及直接访问您的Webmail。 创建电子邮件地址 要为您的域创建电子邮件地址,请按以下步骤操作 - Step 1 - 单击cPanel主页的“电子邮件”部分中的“ Email Accounts链接。 Step 2 - 在电子邮件帐户中,您会在顶部找到添加电子邮件帐户。 Step 3 - 添加您要创建的电

  • 我成功通过passportjs验证,但NodeEmailer只发送一封电子邮件,这是控制台中使用的一封电子邮件。云谷歌。 当我尝试其他gmail帐户时,我得到这个错误: 错误:无效登录:535-5.7.8不接受用户名和密码。在535 5.7.8了解更多信息https://support.google.com/mail/?p=BadCredentialsu6sm13346885wrp。0-SMTPC

  • 问题内容: 我检查了用户是否通过电子邮件验证。但是,无论我发送并确认了多少电子邮件,验证状态仍为。检查时我做错什么了吗? 问题答案: 我如何实现此功能的方法是添加一个 带有时间间隔的,它将检查用户是否已通过验证,然后在完成验证后终止计时器。 检查您当前用户状态的功能:

  • 我检查了用户是否通过电子邮件进行验证。但是,无论我发送并确认了多少封电子邮件,验证状态仍然是。我在检查时是否做错了什么?

  • 我知道这里已经有很多关于向hotmail发送电子邮件的问题了。我已经通读了它们,以及过去几周的许多在线帖子,但仍然无法解决这个问题。 我遇到的问题是,我无法向拥有hotmail电子邮件地址的客户发送电子邮件。我可以向雅虎发送电子邮件,也可以向gmail发送电子邮件(尽管这些邮件似乎进入了垃圾文件夹),但是当我向hotmail电子邮件地址发送电子邮件时,它们似乎永远不会到达。 我在PHP Symfo