【发布时间】:2021-07-01 07:34:09
【问题描述】:
如何在不暴露密码的情况下从 Firebase 发送电子邮件?
以下是使用节点邮件程序使用云功能发送 Firebase 电子邮件。
但是在这里我们必须创建一个带有电子邮件和密码的传输器。 是否可以在没有传输器(电子邮件和密码)的情况下做到这一点。即匿名。导致存储密码对于此类应用程序不安全。
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const nodemailer = require('nodemailer');
const cors = require('cors')({origin: true});
admin.initializeApp();
/**
* Here we're using Gmail to send
*/
let transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'yourgmailaccount@gmail.com',
pass: 'yourgmailaccpassword'
}
});
exports.sendMail = functions.https.onRequest((req, res) => {
cors(req, res, () => {
// getting dest email by query string
const dest = req.query.dest;
const mailOptions = {
from: 'Your Account Name <yourgmailaccount@gmail.com>', // Something like: Jane Doe <janedoe@gmail.com>
to: dest,
subject: 'test', // email subject
html: `<p style="font-size: 16px;">test it!!</p>
<br />
` // email content in HTML
};
// returning result
return transporter.sendMail(mailOptions, (erro, info) => {
if(erro){
return res.send(erro.toString());
}
return res.send('Sended');
});
});
});
【问题讨论】:
标签: javascript firebase google-cloud-functions