Облачные функции Firebase: функция вернула неопределенный - PullRequest
0 голосов
/ 24 марта 2020

Ошибка

Я пытаюсь отправить электронное письмо через облачные функции 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));
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...