У меня проблемы с добавлением substitutions
данных в электронные письма, отправленные из Sendgrid через Firebase Cloud Functions.
Вот мои function
exports.firestoreEmail = functions.firestore
.document('users/{id}')
.onCreate(snap => {
const user = snap.data();
const msg = {
to: user.email,
from: 'example@example.com',
subject: `${user.firstName}, please Verify Your Email Address`,
templateId: 'templateID',
substitutionWrappers: ['{{', '}}'],
substitutions: {
firstName: user.firstName,
email: user.email,
id: user.id
}
};
return sgMail
.send(msg)
.then(() => console.log('email sent!'))
.catch(err => console.log(err));
});
и транзакционные *Шаблон 1009 * для templateId
- это
<html>
<head></head>
<body>{{firstName}} - {{email}} - {{id}}</body>
</html>
. Это возвращает электронное письмо на user.email
, как и предполагалось, но с пробелами, в которых должны быть данные substitutions
.
После документови варианты использования здесь Я также пытался добавить
sgMail.setSubstitutionWrappers('{{', '}}');
к глобально setSubstitutionWrappers
.Все еще не работает.
У меня также есть console.log(user)
, который возвращает данные для передачи на substitutions
в консоли.
Чего мне не хватает?Данные доступны, электронная почта правильно отформатирована, и функция точно соответствует случаям SendGrid.