【问题标题】:Gmail API Quota Limit Exceeded When Sending Too Many Emails发送过多电子邮件时超出 Gmail API 配额限制
【发布时间】:2021-03-14 23:29:15
【问题描述】:

我正在使用 gmail api 和 nodejs 创建电子邮件自动化平台。除非电子邮件列表包含超过 100 封电子邮件,否则它工作正常。

当我尝试发送电子邮件时出现此错误

消费者“project_number:xxxxxxxxxxxxx”的服务“gmail.googleapis.com”的配额指标“查询”和限制“每个用户每分钟的查询数”超出配额。

要发送电子邮件我使用以下方法

const r = await gmail.users.messages.send({
  auth, // coming from google oauth client
  userId: "me",
  requestBody: {
    raw: makeEmailBody( // function to create base64 email body with necessary headers
      thread.send_to,
      {
        address: user.from_email,
        name: user.from_name,
      },
      subject,
      template,
      thread.id
    ),
  },
});

【问题讨论】:

  • 您能检查一下您的配额吗?在 Gmail API 上的 GCP 控制台下 -> 配额。
  • Gmail 对您一次可以发送的数量有限制。这就是存在其他产品的原因。
  • 我相信您可以将此100 限制调整为1000
  • “我正在使用 gmail api 和 nodejs 创建电子邮件自动化平台。”嗯,有你的问题!您不能以这种方式使用 Gmail。
  • @Brad 但YAMM 工具也在做同样的事情。为什么谷歌没有阻止它?

标签: node.js gmail-api


【解决方案1】:

关于Usage limits的信息

每用户速率限制每用户每秒 250 个配额单位,移动平均值(允许短脉冲)。

方法-------------配额单位

messages.send-----------------100

换句话说,发送 100 封电子邮件对应使用 10 000 个配额单位,但您每秒只能使用 250 个配额单位。

这意味着您需要减慢代码执行速度以避免遇到配额问题。

这可以使用指数退避对数来完成,如here 所述。

【讨论】:

  • 非常感谢。我现在找到了一种方法来安排每秒发送 2 封电子邮件
猜你喜欢
  • 1970-01-01
  • 2012-01-13
  • 1970-01-01
  • 2021-09-11
  • 2016-06-03
  • 2019-01-24
  • 2014-09-24
  • 1970-01-01
  • 2014-01-04
相关资源
最近更新 更多