【问题标题】:SendGrid not mailing, but not throwing any errorsSendGrid 不发送邮件,但不抛出任何错误
【发布时间】: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 sentEmail sent to...。没有抛出错误,但同时 SendGrid 说没有请求。知道我错过了什么吗?

【问题讨论】:

    标签: javascript node.js typescript google-cloud-functions sendgrid


    【解决方案1】:

    我的假设是您收到的响应 (202) 会触发“已发送消息”部分。但是,它不能保证您的消息将被发送,我只是将其排队处理。在这种情况下,我会联系 Sendgrid 支持:Sendgrid returns 202 but doesn't send email

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-04
      • 1970-01-01
      • 2017-07-02
      • 2018-08-09
      • 1970-01-01
      • 1970-01-01
      • 2013-08-15
      相关资源
      最近更新 更多