我实现了通过nodemailer发送电子邮件。
现在,当我创建新用户时,该新用户会收到“欢迎电子邮件”。
问题是“欢迎电子邮件”应包含以下选项: 重置密码。
如何在nodemailer电子邮件模板中添加 Firebase重置链接?
这是我的nodemailer的电子邮件模板代码
const output = `
<p>You have access to the Church Mutual Assignment Tool.</p>
<p>Follow this link to create new password for your account ${userRecord.email}:</p>
<a href="${resetPasswordLink}">
${resetPasswordLink}
</a>
<p>Thanks,</p>
<p>Your Church Mutual Assignment Tool team</p>
`
let message = {
from: 'nyik6nntutmq3vz6@ethereal.email',
to: `${user.email}`,
subject: 'Welcome to the Church Mutual Assignment Tool',
text: 'Plaintext version of the message',
html: output
}
这是我的Nodemailer代码:
var mailer = require('nodemailer')
var mailConfig = {
host: 'smtp.ethereal.email',
port: 587,
auth: {
user: 'nyik6nntutmq3vz6@ethereal.email',
pass: '3cbRjkZdPquDqA725s'
}
}
var transporter = mailer.createTransport(mailConfig)
module.exports = transporter
答案 0 :(得分:1)
Admin SDK现在具有一些方法,使您可以执行此操作。在email action links上查看文档,特别是“ 生成密码重置电子邮件链接”部分。
// Admin SDK API to generate the password reset link.
const email = 'user@example.com';
admin.auth().generatePasswordResetLink(email, actionCodeSettings)
.then((link) => {
// Do stuff with link here
})
.catch((error) => {
// Some error occurred.
});
全面披露-我实际上没有使用过任何这些功能,而且我有点担心所涉及的页面在很大程度上涉及移动应用程序-因此您可能必须通过它移动应用程序配置。
const actionCodeSettings = {
// URL you want to redirect back to. The domain (www.example.com) for
// this URL must be whitelisted in the Firebase Console.
url: 'https://www.example.com/checkout?cartId=1234',
// This must be true for email link sign-in.
handleCodeInApp: true,
iOS: {
bundleId: 'com.example.ios'
},
android: {
packageName: 'com.example.android',
installApp: true,
minimumVersion: '12'
},
// FDL custom domain.
dynamicLinkDomain: 'coolapp.page.link'
};
另一方面,页面还说这些功能提供了以下功能:
能够通过手机自定义链接的打开方式 应用程序或浏览器,以及如何传递其他状态信息等。
这听起来很有希望,允许它在浏览器中打开...但是,如果您是为Web开发的,并且在未提供iOS / Android信息时出现了功能错误...那么,恐怕您必须完成old fashioned approach并创建您自己的实现...但是我倾向于.generatePasswordResetLink
应该对您有用。