Я использую nodemailer в firebase cloudfunctions для отправки электронных писем пользователям по нескольким триггерам.
По сути, это работает, одна вещь, которую я не могу обдумать, заключается в следующем: мой Супер Администратор имеет право писать новые почтовые шаблоны, которые сохраняются в базе данных Firebase в виде строки.Допустим, например, что он содержит заголовок в виде строки, подобной этой:
"Welcome to my App ${status.userData.name}!"
, чем в моих облачных функциях, когда происходит триггер, я получаю один из этих созданных шаблонов, таких как:
Состояние - это объект из запроса базы данных триггера:
exports.sendApplication = functions.database.ref('/xx/{userId}/').onUpdate((change, context) => {
let status = change.after.val();
....
let messageRef = admin.database().ref('users').child('admin').child('template').child('welcome');
messageRef.once('value', snap => {
let msg = snap.val();
console.log('message: ', msg);
const mailOptions = {
from: `${status.userData.email}`,
to: `${status.userData.email}`,
subject: `${msg.title}`
html: `
<h1>${msg.title}</h1>
${msg.message}
`....
console.log из msg.title дает мне следующее:
"Welcome to my App ${status.userData.name}!"
console.log для status.userData.nameдает мне
"prename surname"
Проблема в том, что в электронном письме я все равно получаю ${status.userData.name}
.
Любая помощь приветствуется!