谷歌云功能 - Sendgrid 443 错误 [重复]

Posted

技术标签:

【中文标题】谷歌云功能 - Sendgrid 443 错误 [重复]【英文标题】:Google Cloud function - Sendgrid 443 Error [duplicate] 【发布时间】:2020-02-04 08:48:05 【问题描述】:

当我尝试从 google 函数发送电子邮件时,它会抛出以下错误

错误:getaddrinfo EAI_AGAIN api.sendgrid.com:443 at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:67:26) 错误:'EAI_AGAIN',代码:'EAI_AGAIN',系统调用:'getaddrinfo',主机名:'api.sendgrid.com',主机:'api.sendgrid.com',端口:443

但是我在本地机器上尝试了完全相同的代码,它工作得很好 这是我的功能

const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(SENDGRID_API_KEY);

var sendMail = function (templateId, receivers, dynamicData, sender, mailSubject) 
var mailMsg =
        to :receivers[0].email,
        from : sender[0].email ,
        subject : mailSubject,
        templateId : templateId,
        dynamic_template_data : dynamicData

    

    sgMail.send(mailMsg).then(() => console.log("mail sent"))
        .catch(err => console.log(err));

提前谢谢你!!!!

【问题讨论】:

这似乎与***.com/questions/40182121/… 中的问题相同,因此请参阅该讨论。 如果您在 Cloud Functions 上获得此功能,您的项目是否有机会参与免费/火花计划?为了能够调用第三方 API(例如 SendGrid),您的项目必须采用付费计划。 @FrankvanPuffelen 每当在集合中添加新文档时,当我将 SendGrid 用于电子邮件时,我也会遇到同样的错误。是因为免费计划吗? 是的。如前所述:只有在您拥有与您的项目关联的结算帐户后,才能调用第三方 API。 【参考方案1】:

这是另一个相关问题:link。请参阅讨论,其中说免费的“Spark”计划“仅允许对 Google 拥有的服务的出站网络请求”。

【讨论】:

以上是关于谷歌云功能 - Sendgrid 443 错误 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

谷歌云功能完成状态:“连接错误”

发送身份验证承载令牌时出现 Cors 策略错误 - node.js(谷歌云功能)

将谷歌云功能连接到云 sql (postgreSQL)

谷歌云负载均衡器 + GKE 入口

谷歌云发布/订阅功能在查询 Firestore 时给出“请求的快照版本太旧”

在谷歌云函数中生成JWT - python