繁体   English   中英

如何使用 PHP 和 Gmail API 从我的个人 Gmail 帐户发送电子邮件?

[英]how to send email from my personal gmail account using PHP and Gmail API?

我想使用 Gmail API 和 PHP 从我的个人电子邮件帐户以编程方式发送电子邮件。 问这个问题的原因是:

我不能使用 SMPT,因为我使用的是 A2 Hosting,它禁止共享主机计划连接到远程 SMPT 服务器。

似乎唯一的解决方案是使用 Gmail API。 我可以看到很多类似的教程。 但是,它们大多不用于使用个人电子邮件帐户(即,这些方法大多数需要用户授权并代表他们发送电子邮件)。 我的情况不同:我只想使用我的个人 gmail 帐户发送电子邮件。

到目前为止,我刚刚找到了一个关于这个主题的相关教程http://sahmwebdesign.com/gmail-api-via-service-accounts/ 但是好像我必须有一个 G-Suite 帐户才能使用这种方法,这对我来说意味着额外的费用。

有没有办法让服务帐户与普通的 gmail 用户帐户一起使用。 如果不是,我如何使用 gmail api 而不必一直登录。

您需要记住 Gmail 帐户是私人用户数据。 为了使用 Gmail API 发送电子邮件,您必须获得该帐户所有者的许可才能从该帐户以编程方式发送电子邮件。

为此,我们使用 Oauth2。 一旦将刷新令牌存储在某个地方,您将需要对应用程序进行身份验证,然后您将能够在以后使用刷新令牌来获取新的访问令牌以使用它。 使用普通用户 gmail 帐户无法解决此问题

我这里有一些代码展示了如何使用刷新令牌Oauth2Authentication.php

$client->refreshToken($_SESSION['refresh_token']);
$client->fetchAccessTokenWithRefreshToken($client->getRefreshToken());
$client->setAccessToken($client->getAccessToken()); 

服务帐号

服务帐户用于服务器到服务器的交互,它们是预先批准的。 不幸的是,服务帐户仅适用于 Gsuite Gmail 帐户,而不适用于普通用户的 Gmail 帐户。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM