【发布时间】:2018-10-29 19:37:04
【问题描述】:
这是我的代码:
userDetails = [{email:'email',id:'id'}]
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey('key');
for (const i in usersDetails) {
const user = usersDetails[i];
const msg = {
from: `ZdajTo<noreply@zdajto.com>`,
to: user.email,
subject: `Dostepne sa nowe zadania z kategorii ${work.category}!`,
html: `<p>Hej! Sprawdz aplikacje ZdajTo! Dostepne sa nowe zadania z kategorii ${work.category}! Aby zrezygnowac z otrzymywania emaili kliknij w <a href="https://Link/${user.id}" target="_blank">ten link</a></p>`,
};
calls.push(sgMail.send(msg).then(() => console.log(`Email sent to ${msg.to}`)).catch(e => console.log(e)));
}
return Promise.all(calls).then(() => console.log('Emails sent')).catch(err => console.log(8, err));
userDetails 是一组带有 id 的电子邮件。
我之前在 nodemailer 中使用了几乎相同的代码,并且效果很好。这是 nodemailer 版本:
for (const i in usersDetails) {
const user = usersDetails[i];
calls.push(mailTransport.sendMail({
from: `ZdajTo <noreply@zdajto.com>`,
to: user.email,
subject: `Dostepne sa nowe zadania z kategorii ${work.category}!`,
html: `<p>Hej! Sprawdz aplikacje ZdajTo! Dostepne sa nowe zadania z kategorii ${work.category}! Aby zrezygnowac z otrzymywania emaili kliknij w <a href="https://Link/${user.id}" target="_blank">ten link</a></p>`,
}).catch(err => console.log(7, err, user.email)));
}
奇怪的是,它每次都显示Emails sent 和Email sent to...。没有抛出错误,但同时 SendGrid 说没有请求。知道我错过了什么吗?
【问题讨论】:
标签: javascript node.js typescript google-cloud-functions sendgrid