gpt4 book ai didi

firebase - firebase 中的电子邮件通知

转载 作者:行者123 更新时间:2023-12-02 10:59:33 25 4
gpt4 key购买 nike

我想知道是否有人知道如何在创建、更新或删除 Firebase 中的特定节点时发送电子邮件?

更具体地说,我有一个网络服务,用户可以在其中互相预订一段时间。我使用 Firebase 作为后端来存储用户信息等,但我想在预订发生时向用户的电子邮件地址发送确认信息。据我所知,以前可以使用 Zapier 实现这一点,但他们不再支持 Firebase。

有人对如何在 Firebase 中发送电子邮件通知有解决方法或想法吗?

最佳答案

经过一番搜索,我发现没有直接的插件。我联系了 firebase 支持团队,他们正在考虑自己创建此功能;然而,何时以及如何尚未决定。
有不同的可能性,但它们都需要某种后端编码,这意味着服务器可以监视这些更改。
我降落在 node.js因为这与我通常的工作(即 javascript)最相似。
通过包含 nodemailerfirebase通过npm,基于firebase事件发送邮件是这样实现的:

var firebase = require("firebase");

var mainApp = firebase.initializeApp({
//firebase authentication
});

var directTransport = require('nodemailer-direct-transport');
var nodemailer = require('nodemailer');
var options = {};
var transporter = nodemailer.createTransport(directTransport(options))

var nodemailer = require('nodemailer');

var transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'example.gmail.com'
pass: 'password'
}
});

var nodeToWatch = mainApp.database().ref('node_to_watch'); //firebase node to watch

nodeToWatch.on('child_added', function(childSnapshot) { //fires once for every node in this location
if(!childSnapshot.val().email_sent){ //check if email has already been sent

nodeToWatch.child(childSnapshot.key).child('email_sent').set(firebase.database.ServerValue.TIMESTAMP).then(function(response){ //set email value to sent

var data = JSON.stringify(childSnapshot.val(), null, 9); //stringify the response so we can attach it in the email

// create template based sender function
var sendInfo = transporter.templateSender({
subject: 'Node in firebase updated',
html: 'Hello, data for new node is: {{data}}
}, {
from: 'example.gmail.com'
});

// use template based sender to send a message
sendInfo({
to: 'exampleRecipient.email.com'
}, {
data: data //data variable to insert into email
}, function(err, info){
if(err){
console.log(err);
}
else{
console.log('Email sent');
}
});
});

}

});

此示例监听 firebase on_child_added 事件,但任何 firebase event将工作。希望这对某人有帮助! :)

关于firebase - firebase 中的电子邮件通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39201484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com