VisualSTd 从今天起就向我展示了这个错误“TypeError:无法读取未定义的属性‘email’”。
更具体地说,它告诉我“ const gmailEmail = functions.config().gmail.email;” ^ 我是 Jason 的新手,我不太清楚。我在这里写错了,我一次又一次地收到这个错误。不幸的是,我不知道我可以改变什么。
'use strict'
const functions = require('firebase-functions');
const nodemailer = require('nodemailer');
const admin = require('firebase-admin');
admin.initializeApp();
exports.addMessage = functions.https.onRequest(async (req, res) => {
const original = req.query.text;
const writeResult = await admin.firestore().collection('messages').add({original: original});
res.json({result: `Message with ID: ${writeResult.id} added.`});
});
exports.makeUppercase = functions.firestore.document('/messages/{documentId}')
.onCreate((snap, context) => {
const original = snap.data().original;
functions.logger.log('Uppercasing', context.params.documentId, original);
const uppercase = original.toUpperCase();
return snap.ref.set({uppercase}, {merge: true});
});
const gmailEmail = functions.config().gmail.email;
const gmailPassword = functions.config().gmail.password;
const mailTransport = nodemailer.createTransport({
service : 'gmail',
auth : {
user : gmailEmail,
pass : gmailPassword,
},
});
const APP_NAME = 'InstaCloneMm'
exports.sendWelcomeEmail = functions.auth.user().onCreate((user) => {
const email = user.email;
const displayName = user.displayName;
return this.sendWelcomeEmail(email , displayName);
});
async function sendWelcomeEmail(email , displayName) {
const mailOptions = {
from : `${APP_NAME} <noreply@firebase.com`,
to : email,
};
mailOptions.subject = `Welcome to ${APP_NAME}!`;
mailOptions.text = `Hey ${diasplayName || ''}! Welcome to ${APP_NAME}, we hope you enjoy our service.`;
await mailTransport.sendMail(mailOptions);
console.log('New email sent to:' , email);
return null;
}