Ошибка
Я пытаюсь отправить электронное письмо через облачные функции Firebase, но всякий раз, когда функция активируется, она выдает мне эту ошибку. Предполагается, что эта функция будет активирована в момент сохранения информации в коллекции. Я ищу те же данные, которые есть в коллекции, чтобы я мог отправить электронное письмо, когда я проверю свою коллекцию, правильно ли она хранится. Я пытался писать код по-разному, но всегда происходит одно и то же. Кто-нибудь знает, что происходит? справка: (
первый код:
const functions = require('firebase-functions');
const nodemailer = require('nodemailer');
let transport = nodemailer.createTransport({
service: "smtp.gmail.com",
auth: {
user: 'user@gmail.com',
pass: 'xyz'
}
})
exports.mail = functions.firestore.document('alreadymademail/{docId}').onCreate((snap, context) => {
const email = snap.data().email
const title = snap.data().title
const message = snap.data().message
console.log(snap.data());
return sendMail(email, title, message)
});
function sendMail(email, title, message){
return transport.sendMail({
from: 'hihi@gmail.com',
to: email,
subject: title,
text: message
})
.then(r => console.log(r))
.catch(e => console.log(e));
}
второй код:
const functions = require('firebase-functions');
const nodemailer = require('nodemailer');
const admin = require('firebase-admin');
admin.initializeApp()
require('dotenv').config()
const {SENDER_EMAIL,SENDER_PASSWORD} = process.env;
exports.sendEmailNotification = functions.firestore.document('alreadymademail/{docId}').onCreate((snap,ctx)=>{
const data = snap.data();
let autData=nodemailer.createTransport({
host: 'gmail',
port: 465,
secure: true,
auth:{
user: user@gmail.com,
pass: xyz
}
});
autData.sendMail({
from :'hihi@gmail.com',
to: `${data.email}`,
subject: `${data.title}`,
text: `${data.message}`,
html: `${data.message}`
}).then(res=>console.log('Se mando')).catch(err=>console.log(err));
});
третий код
const functions = require('firebase-functions');
const nodemailer = require('nodemailer');
exports.mail = functions.firestore.document('alreadymademail/{docId}').onCreate((snap, context) => {
const email = snap.data().email
const title = snap.data().title
const message = snap.data().message
console.log(snap.data());
});
let transport = nodemailer.createTransport({
service: "smtp.gmail.com",
auth: {
user: 'user@gmail.com',
pass: 'xyz'
}
})
transport.sendMail({
from: 'hihi@gmail.com',
to: email,
subject: title,
text: message
})
.then(r => console.log(r))
.catch(e => console.log(e));
}