gpt4 book ai didi

javascript - 通过 firebase 函数替换在发送网格中不起作用

转载 作者:行者123 更新时间:2023-11-30 14:19:56 25 4
gpt4 key购买 nike

我在通过 Firebase Cloud Functions 将 substitutions 数据添加到从 Sendgrid 发送的电子邮件时遇到问题。

这是我的函数

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));
});

templateId交易 模板是

<html>
<head></head>
<body>{{firstName}} - {{email}} - {{id}}</body>
</html>

这会按预期将电子邮件返回到 user.email,但在 substitutions 数据应为的位置留有空白。

遵循文档和用例here我也试过添加

sgMail.setSubstitutionWrappers('{{', '}}');

全局setSubstitutionWrappers。还是不行。

我还有 console.log(user),它返回要传递给控制台中的 substitutions 的数据。

我错过了什么?数据可用,电子邮件格式正确,功能完全遵循 SendGrid 案例。

最佳答案

我在几个小时后设法解决了这个问题,意识到 substitutionssubstitutionWrappers适用于 Legacy Transactional Templates

代替v3 <强> API 你应该使用 dynamic_template_data而不是 substitutionssubstitutionWrappers似乎设置为 Handlebars {{ }} .

  dynamic_template_data: {
firstName: user.firstName,
email: user.email,
id: user.id
}

下次,我一定会阅读而不是浏览文档……很可能不会。

关于javascript - 通过 firebase 函数替换在发送网格中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52933914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com