触发电子邮件firebase扩展-nodemailer错误



我安装了扩展程序,以便在数据库写入时触发电子邮件。我的网站有一个简单的"联系我"表格,我不希望有太多流量,所以我想建立一个简单通知电子邮件系统。

然而,我很难把会议安排好。

我配置了一个firebase触发器电子邮件扩展:

smtp connection URI: smtp://email:password@smtp.gmail.net:465
email documents collection: messages
default FROM address: Some Name <email>

在每次提交联系表格时,我都会以以下格式将数据存储到firestore:

let db = firebase.firestore();
db.collection("messages").add({
from: "First Last <email>",
to: "email",
replyTo: "First Last <email>",
message: {
subject: "New message from website!",
text: "some text"
}
})
.then((docRef) => {
console.log("Document written with ID: ", docRef.id);
})
.catch((error) => {
console.error("Error adding document: ", error);
});

文档被写入Firestore。

我在函数日志中看到的错误:

ext firestore发送电子邮件处理传递消息时队列错误=messages/vG9gviTCyh1Glxl1vBu1:错误:queryA EREFUSED smtp.gmail.net

此外,我看到Firestore集合中添加了一个delivery对象,但出现了相同的错误。

鉴于以上情况,我认为代码部分正在工作——我成功地将字段存储在Firestore中,它触发了一个云函数。我认为问题在于触发器电子邮件扩展或gmail设置中的配置。

现在,当我在谷歌上搜索(在firebase中使用带有Trigger电子邮件扩展名的GMAIL(时,我没有发现这方面有多大用处,这暗示我可能有一个错误的开始,也许应该考虑其他选择?如果不是这样,那么我还可以检查其他哪些设置?我确实在gmail中为自己创建了一个应用程序密码,但我不知道应该在触发电子邮件扩展中的哪里提交。我是否还需要在身份验证模板配置中将gmail配置为SMTP服务器?

分解错误消息,

  • queryA-提交DNS a记录查询
  • EREFUSED-被拒绝(引发错误-例如找不到(
  • smtp.gmail.net-查询的主题

简而言之,这意味着找不到web服务器smtp.gmail.net,因为它没有注册。

基于使用Gmail发送电子邮件的文档,

  • 如果您使用的是谷歌工作区,则应使用smtp-relay.gmail.com(每日消息限制为10k(
  • 如果你是Gmail的常客,你应该使用smtp.gmail.com(每日邮件限制为2k(

如果您计划超过这些限制,您应该考虑使用第三方邮件服务。

相关内容

  • 没有找到相关文章

最新更新