这是发送欢迎电子邮件的 JavaScript:
const functions = require('firebase-functions');
const nodemailer = require('nodemailer');
const userID = firestore.auth().currentUser.getId();
exports.sendWelcomeEmail =
functions.firestore.document('Users/{userID}').onCreate(async event => {
const name = event.data.data().name;
const email = event.data.data().email;
return sendWelcomeEmail(email, name);
})
function sendWelcomeEmail(email, name) {
const mailOptions = {
from: `${APP_NAME} <<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="1973787e7d706a71377a71766c7d71786b605970706d7e7737787a377077" rel="noreferrer noopener nofollow">[email protected]</a>>`,
to: email,
};
mailOptions.subject = `Welcome to ${APP_NAME}!`;
mailOptions.text = `Hey ${name || ''}! Welcome to ${APP_NAME}. I hope
you will enjoy our service.`;
return mailTransport.sendMail(mailOptions).then(() => {
return console.log('New welcome email sent to:', email);
});
}
我有 firestore 数据库,例如“用户”>“用户 ID”>“姓名”、“电子邮件”。
请帮我解决这个问题。
最佳答案
正如 @ArnavRao 所说,您应该像以前那样检索数据。它看起来正确,您不需要上面的这一行: const userID = firestore.auth().currentUser.getId();
但如果您确实需要用户 Id:
...
const name = event.data.data().name;
const email = event.data.data().email;
const userId = event.params.userID;
...
将为您提供新记录的 ID。
关于javascript - 如何在云功能中从firestore获取用户的电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49472435/