Gmail API 发送过多电子邮件时超出配额限制
Gmail API Quota Limit Exceeded When Sending Too Many Emails
我正在使用 gmail api 和 nodejs 创建电子邮件自动化平台。它工作正常,除非电子邮件列表包含 >100 封电子邮件。
当我尝试发送电子邮件时出现此错误
Quota exceeded for quota metric 'Queries' and limit 'Queries per minute per user' of service 'gmail.googleapis.com' for consumer 'project_number:xxxxxxxxxxxxx'.
发送电子邮件我使用以下方法
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
),
},
});
关于Usage limits的信息
Per user rate limit 250 quota units per user per second, moving average (allows short bursts).
和
Method--------------------------Quota Units
messages.send-----------------100
换句话说,发送100封邮件对应使用10000个配额单位,但您每秒只能使用250个配额单位。
这意味着您需要放慢代码执行速度以避免 运行 出现配额问题。
这可以通过 指数退避对数 来完成,如 here 所述。
我正在使用 gmail api 和 nodejs 创建电子邮件自动化平台。它工作正常,除非电子邮件列表包含 >100 封电子邮件。
当我尝试发送电子邮件时出现此错误
Quota exceeded for quota metric 'Queries' and limit 'Queries per minute per user' of service 'gmail.googleapis.com' for consumer 'project_number:xxxxxxxxxxxxx'.
发送电子邮件我使用以下方法
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
),
},
});
关于Usage limits的信息
Per user rate limit 250 quota units per user per second, moving average (allows short bursts).
和
Method--------------------------Quota Units
messages.send-----------------100
换句话说,发送100封邮件对应使用10000个配额单位,但您每秒只能使用250个配额单位。
这意味着您需要放慢代码执行速度以避免 运行 出现配额问题。
这可以通过 指数退避对数 来完成,如 here 所述。