达到配额时如何捕获未经授权的 Sendgrid 错误?
How to catch Unauthorized Sendgrid Error when quota is reached?
我使用这个简单的代码通过 Sendgrid 发送电子邮件没有问题:
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
const sendWelcomeEmail = (email, username, code) => {
sgMail.send({
to: email,
from: 'example@gmail.com',
subject: 'Welcome!',
html: '<h3Welcome</h3>'
});
};
然而,当达到 Sendgrid 配额时(即 100 个免费 email/day),我在服务器上收到此错误:
(node:5060) UnhandledPromiseRejectionWarning: Error: Unauthorized
at Request._callback (C:\...\node_modules\@sendgrid\client\src\classes\client.js:124:25)
[...]
(node:5060) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
我一直在不同的地方尝试一些 try catch 块,但没有成功。
谢谢
这是 tiguchi 评论,我 post 它作为接受的答案 :
这是一个 NodeJS 警告,告诉您向该承诺添加错误处理。只需在发送调用后附加一个 .catch(error => console.error(error)) – tiguchi
我使用这个简单的代码通过 Sendgrid 发送电子邮件没有问题:
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
const sendWelcomeEmail = (email, username, code) => {
sgMail.send({
to: email,
from: 'example@gmail.com',
subject: 'Welcome!',
html: '<h3Welcome</h3>'
});
};
然而,当达到 Sendgrid 配额时(即 100 个免费 email/day),我在服务器上收到此错误:
(node:5060) UnhandledPromiseRejectionWarning: Error: Unauthorized
at Request._callback (C:\...\node_modules\@sendgrid\client\src\classes\client.js:124:25)
[...]
(node:5060) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
我一直在不同的地方尝试一些 try catch 块,但没有成功。 谢谢
这是 tiguchi 评论,我 post 它作为接受的答案 :
这是一个 NodeJS 警告,告诉您向该承诺添加错误处理。只需在发送调用后附加一个 .catch(error => console.error(error)) – tiguchi