>我创建了一个函数,用于在onCreate触发后发送电子邮件,但遇到了问题 尝试访问值后
exports.sendEmailConfirmation = functions.database
.ref('/contact')
.onCreate(async (snapshot, context) => {
const val = snapshot.val();
console.log(val);
const mailOptions = {
from: val.name,
to: 'kris@gmail.com',
title: val.message,
};
try {
await mailTransport.sendMail(mailOptions);
console.log(`New ${val.message ? '' : 'un'} message sent to:`, val.email);
} catch (error) {
console.error('There was an error while sending the email:', error);
}
return null;
});
未定义
新的联合国消息发送到:未定义
然后尝试控制台似乎有一个想要引用但随机的键
{ '-LuFhQVjr-T7UFYioi-d':
{ email: 'Kris@gmail.com',
message: 'Hello cloud function',
name: 'Kris'
}
}
尝试再次使用点差,但遇到更多问题功能未触发
我如何访问它?
看起来您正在尝试在 /contact
下创建新节点时触发函数。在这种情况下,您希望在声明中包含新子节点路径的占位符:
exports.sendEmailConfirmation = functions.database
.ref('/contact/{pushid}')
.onCreate(async (snapshot, context) => {
const val = snapshot.val();
console.log(val);
const mailOptions = {
from: val.name,
to: 'rferfe@gmail.com',
title: val.message,
};
...