【发布时间】:2021-09-16 06:19:21
【问题描述】:
我想使用 Firebase Cloud Functions 在我的 React Native 中发送电子邮件。用户应该能够发送电子邮件以在应用程序中报告问题/反馈。我在我的本机应用程序中创建了一个文本输入和一个按钮。用户应该能够在文本输入框中指定他们的问题/反馈,当他们按下按钮时,我将在我的 gmail 或 hotmail 帐户中以电子邮件的形式收到他们的回复。我可以在 Firebase Cloud Functions 中使用 onCreate 来实现这一点吗?如果是这样,我怎样才能做到这一点? onCreate 方法和 react native 中的按钮功能会是什么样子?我对本机和 firebase 云功能反应非常陌生。不幸的是,我没有看到任何关于此的链接。
谢谢。
请看下面:
const nodemailer = require('nodemailer');
const email = functions.config().email_credentials.email;
const password = functions.config().email_credentials.password;
const mailTransport = nodemailer.createTransport(`smtps://${email}:${password}@smtp.gmail.com`);
functions.database.ref('/feedbacks/{currentId}').onCreate((snapshot, context) => {
const feedback = snapshot.val().feedback;
const name = snapshot.val().name;
const mailOptions = {
from: snapshot.val().email,
replyTo: snapshot.val().email,
to: functions.config().email_credentials.email,
subject: `Feedback from `+name,
html: feedback,
};
try {
mailTransport.sendMail(mailOptions);
} catch(error) {
console.log(error);
}
return null;
});
实时数据库:
【问题讨论】:
标签: firebase react-native google-cloud-functions