Я новичок в Firebase Cloud Functions и хочу создать на нем почтовую систему. Мне нужно получать электронное письмо в моей учетной записи (например, myemail@gmail.com) каждый раз, когда в мою базу данных реального времени вставляются новые данные. В электронном письме должно содержаться содержимое узла firebase.
Я пытался использовать это код, но при добавлении новых данных в базу данных в реальном времени я не получаю никаких писем:
'use strict';
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const nodemailer = require('nodemailer');
const gmailEmail = functions.config().gmail.email;
const gmailPassword = functions.config().gmail.password;
const mailTransport = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'email@gmail.com',
pass: 'password'
},
});
admin.initializeApp();
exports.sendEmail = functions.database.ref('/reports/{postId}/{reportId}').onWrite(async (change) => {
const snapshot = change.after;
const val = snapshot.val();
const mailOptions = {
from: '"Report" <email@gmail.com>',
to: 'myemail@gmail.com',
};
// Building Email message.
mailOptions.subject = 'Report ' + val.tipo;
mailOptions.text = 'Content ' + val;
try {
await mailTransport.sendMail(mailOptions);
console.log('email sent! ');
} catch(error) {
console.error('There was an error while sending the email:', error);
}
return null;
});
База данных:
"reports" : {
"-M2sV-8jze4u8di8rC6a" : {
"-M2smZT3YgGe6pbHb9ML" : {
"idAuthor" : "-M2sV-8jze4u8di8rC6a",
"idReport" : "-M2smZT3YgGe6pbHb9ML",
"tipo" : "test"
},
Как я могу отправлять электронные письма с содержимым базы данных?
Заранее спасибо!