我正在构建网站联系表单。我通过Angular js将表单提交内容添加到Firebase中。当新的提交被提交给Firebase时,我在Node中使用child_added来触发nodemailer。这工作正常,除了整个提交集合正在重新发送电子邮件,每当我重新启动开发服务器,并在Heroku生产每天多次。我如何确保电子邮件不会被多次发送?Firebase Child_Added成功触发Nodemailer但发送重复(在Heroku上托管)
var myRoot = new Firebase('https://firebase.firebaseio.com/website/submissions');
myRoot.on('child_added', function(snapshot) {
var userData = snapshot.val();
var smtpTransport = nodemailer.createTransport("SMTP",{
auth: {
user: "[email protected]",
pass: "password"
}
});
var mailOptions = {
from: "Website <[email protected]>", // sender address
to: "[email protected]", // list of receivers
subject: "New Website Lead", // Subject line
html: "<p><strong>Name: </strong>" + userData.name + "</p>" + "<p><strong>Email: </strong>" + userData.email + "</p>" + "<p><strong>Phone: </strong>" + userData.phone + "</p>" + "<p><strong>Enquiry: </strong>" + userData.enquiry + "</p>" + "<p><strong>Submitted: </strong>" + userData.date + "</p>" // html body
};
smtpTransport.sendMail(mailOptions, function(error, response) {
if(error) {
console.log(error);
}
else {
console.log("Message sent: " + response.message);
}
smtpTransport.close();
});
});