Sendgrid 中的替代令牌列表
List of Substitution Tokens in Sendgrid
我要向单个用户发送一封交易电子邮件,并希望在电子邮件中嵌入项目列表。我可以在 Node.js - https://github.com/sendgrid/sendgrid-nodejs:
中使用 NPM 包 "sendgrid" 添加单个替换值
email.addFilter('templates', 'enable', 1);
email.addFilter('templates', 'template_id', '11122233445....');
email.addSubstitution('{{TOKEN1}}', 'My Token1 Replacement');
但我看不到如何将项目列表添加到 sendgrid 中的模板。使用 Mandrill 我可以使用 Handlebars 并执行以下操作。榜单:
items: [
{name: "one", url: "/one"},
{name: "two", url: "/two"},
];
在模板中:
<ul>
{{#each ITEMS}}
<li>
{{name}} - <a href="{{url}}">Blah</a>
</li>
{{/each}}
</ul>
然后在代码中:
var rcpt = { "rcpt": email,
"vars": [
{ "name":"ITEMS", "content": items }
]
};
mergeVars.push(rcpt);
var message = { ...
"merge_vars": mergeVars,
}
mandrillClient.messages.sendTemplate({... "message": message });
导致:
<ul>
<li>one <a href="/one">Blah</a></li>
<li>two <a href="/two">Blah</a></li>
</ul>
有没有办法在 Sendgrid 中做到这一点?
SendGrid 在模板中没有 each
逻辑。
最好的解决方法是在模板中加入:
<ul>
{item1}
{item2}
{item3}
</ul>
然后在您的替换中,您将视情况填充适当的 <li> item 1 details</li>
或 NULL。确保您的模板具有与最大列表大小一样多的替换标记,并且您为这些项目设置了默认值 NULL,这样即使没有项目也会填充它们。
我要向单个用户发送一封交易电子邮件,并希望在电子邮件中嵌入项目列表。我可以在 Node.js - https://github.com/sendgrid/sendgrid-nodejs:
中使用 NPM 包 "sendgrid" 添加单个替换值email.addFilter('templates', 'enable', 1);
email.addFilter('templates', 'template_id', '11122233445....');
email.addSubstitution('{{TOKEN1}}', 'My Token1 Replacement');
但我看不到如何将项目列表添加到 sendgrid 中的模板。使用 Mandrill 我可以使用 Handlebars 并执行以下操作。榜单:
items: [
{name: "one", url: "/one"},
{name: "two", url: "/two"},
];
在模板中:
<ul>
{{#each ITEMS}}
<li>
{{name}} - <a href="{{url}}">Blah</a>
</li>
{{/each}}
</ul>
然后在代码中:
var rcpt = { "rcpt": email,
"vars": [
{ "name":"ITEMS", "content": items }
]
};
mergeVars.push(rcpt);
var message = { ...
"merge_vars": mergeVars,
}
mandrillClient.messages.sendTemplate({... "message": message });
导致:
<ul>
<li>one <a href="/one">Blah</a></li>
<li>two <a href="/two">Blah</a></li>
</ul>
有没有办法在 Sendgrid 中做到这一点?
SendGrid 在模板中没有 each
逻辑。
最好的解决方法是在模板中加入:
<ul>
{item1}
{item2}
{item3}
</ul>
然后在您的替换中,您将视情况填充适当的 <li> item 1 details</li>
或 NULL。确保您的模板具有与最大列表大小一样多的替换标记,并且您为这些项目设置了默认值 NULL,这样即使没有项目也会填充它们。