【发布时间】:2020-08-01 06:40:22
【问题描述】:
我正在尝试使用 Node.JS 将每日电子邮件发送到我的 SendGrid 联系人列表。
目前我正在查询我的所有订阅者并循环浏览他们,然后一一发送电子邮件。
这种方法的问题是 SendGrid 不允许我一次发送 1000 封电子邮件并引发速率限制错误,因此我需要在每个请求之间创建 5 秒的延迟。
这就是我现在所做的:
verifiedSubscribers.map(async (subscriber, i) => {
const timer = setTimeout(() => {
sgMail.send({
from: 'me@example.com',
to: subscriber.email,
subject: 'test',
text: 'test',
html: 'test',
})
clearTimeout(timer)
}, 5000 * i)
})
那么有什么方法可以一次将电子邮件发送到我的联系人列表吗?
【问题讨论】:
-
Sendgrid 说他们的速率限制是每 分钟 600 个请求。 或每 秒 10 个请求。因此,消息之间的 100 毫秒延迟应该可以解决问题。 sendgrid.com/docs/for-developers/sending-email/using-the-v2-api/…
-
谢谢!那么这是发送此类电子邮件的最佳方式吗?如果我有 18000 个订阅者怎么办?第一封电子邮件和最后一封电子邮件之间会有 30 分钟的延迟。
-
对于这种卷,您可能需要向 SendGrid 的支持团队寻求建议。他们可能会为您放宽速率限制。问一下也无妨。
标签: javascript node.js email sendgrid