【发布时间】:2019-05-21 16:40:14
【问题描述】:
我正在使用云功能向存储在 google firestore 中的数据更新的人发送电子邮件。我正在使用 sendgrid 发送电子邮件。
我的云功能运行良好,每当我更新数据时都会触发它。但我无法发送电子邮件。
const sendgridemail = require('@sendgrid/mail');
const MY_SENDGRID_API_KEY = '<API key>'
sendgridemail.setApiKey(MY_SENDGRID_API_KEY);
exports.helloFirestore = (event, callback) => {
const triggerResource = event.resource;
console.log('Function triggered by change to: ' + triggerResource);
console.log(JSON.stringify(event));
const msgbody = {
to: 'laaaf09@gmail.com',
from: 'abc@nnn.co',
subject: 'database updated - xyzshopping.com',
templateId: '<template ID>',
}
return helloFirestore.send(msgbody)
.then(() => console.log('payment mail sent success') )
.catch(err => console.log(err) )
callback();
};
我还使用内联编辑器和 zip 上传从控制台部署了代码。 它被触发但不发送电子邮件。它向我抛出错误:
错误:getaddrinfo ENOTFOUND api.sendgrid.com api.sendgrid.com:443 at GetAddrInfoReqWrap.onlookup 处的 errnoException (dns.js:28:10) [as oncomplete] (dns.js:76:26) 代码:'ENOTFOUND',错误号:'ENOTFOUND', 系统调用:'getaddrinfo',主机名:'api.sendgrid.com',主机: 'api.sendgrid.com',端口:443
【问题讨论】:
标签: node.js google-cloud-functions sendgrid