【问题标题】:GMail API - Can I send email using the Service Account?GMail API - 我可以使用服务帐户发送电子邮件吗?
【发布时间】:2016-01-18 22:30:47
【问题描述】:

当我使用 GMail API 发送电子邮件时,我会为要向其发送邮件的用户获取访问令牌,然后在发送邮件时,我会在 From 字段中输入一些值。

但无论我在发件人字段中输入什么,电子邮件中的消息都会显示为来自“我”,并且在已发送邮件和收件箱中。

有没有办法,我可以使用服务帐户发送电子邮件,这样它就不会显示为来自“我”,也不会出现在已发送邮件中。

【问题讨论】:

标签: gmail-api


【解决方案1】:

没有。 Gmail API 适用于 Gmail 用户,服务帐户仅用于对真实 Gmail 帐户进行身份验证,他们没有自己的 Gmail 帐户等。

如果您想从某个服务发送电子邮件,您需要一些批量发送电子邮件服务,例如:https://cloud.google.com/compute/docs/tutorials/sending-mail/ 或您自己运行的或来自其他提供商的服务。

【讨论】:

    【解决方案2】:

    不能使用服务帐户来冒充免费 gmail 帐户。在阅读了之前的回复后,我花了很多时间确认这一点。也许它在某个时候有效,但现在不再有效了。

    无法共享/授予其他用户访问权限 您的标准 gmail 帐户。所以你没有办法去委托 bob@mycompany.com 访问 bob@gmail.com 的权限。

    您可以模拟 G-Suite 帐户,但不能模拟 Gmail 帐户

    这些引用来自 Google 的官方 C# Auth repo:
    https://github.com/googleapis/google-api-dotnet-client/issues/1561

    【讨论】:

    • 我的“个人账户”实际上是一个付费的 G-suite 账户。为混乱道歉。我必须得到一些代码来演示,然后我要删除那个答案
    • 对不起,我不是故意要明确地叫你出来的。我只是掉进了一个兔子洞,不想让其他人也这样做。谢谢你的回复。
    • 没问题,我说话很草率,所以可以理解这会让很多人感到困惑。如果我把代码放在那里,它会为每个人解决很多头痛的问题,包括我自己。
    • 您可以使用服务帐户仅模拟您域的 G-suite 帐户(以前称为 Google for Work)
    • 对于以后阅读本文的人来说,这对我有用:stackoverflow.com/questions/19766912/…
    【解决方案3】:

    不,您正在寻找的是批量电子邮件发送服务。结帐sendgridAmazon AWS SESmandrill,或者如果你想坚持使用谷歌,this。您当然可以运行自己的后缀服务器(尽管我假设您首先使用 gmail api 来实现可交付性。

    【讨论】:

      猜你喜欢
      • 2020-09-30
      • 2022-07-02
      • 2012-03-30
      • 2016-04-20
      • 2021-09-29
      • 2020-04-05
      • 2021-12-16
      • 2021-03-15
      • 2011-04-06
      相关资源
      最近更新 更多