使用“&”通过 sendgrid 发送模板电子邮件时发出警告
Warning while sending template email via sendgrid with '&'
我在 sendgrid api v3 的帮助下发送了一封电子邮件,但收到了 warning/error:
Content with characters ', " or & may need to be escaped with three brackets
{{{ content }}}
在我的 api json 中,我添加了一个包含 &
字符的 link:
{"dynamic_template_data": {"link":"...&..."}}
在我的模板中,我使用了三个括号 {{{ link }}}
一切都按预期工作 - 电子邮件包括。 link 已发送 - 但我总是收到 warning/error。
我是否遗漏了 json 中的内容?
我查看了他们的 node.js 代码,只要任何内容字符串包含 (",',&),它就会 console.warn 您看到的消息。
if (/['"&]/.test(value)) {
console.warn(DYNAMIC_TEMPLATE_CHAR_WARNING);
}
您可以注意到在下面的 sendgrid 电子邮件模板中使用 2 个和 3 个括号的区别:
您可以在配置中设置 hideWarning: true
。
样本
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
const msg = {
to: 'recipient@example.org',
from: 'sender@example.org',
templateId: 'd-f43daeeaef504760851f727007e0b5d0',
dynamic_template_data: {
subject: 'Testing Templates',
name: 'Some One',
city: 'Denver',
company: 'Recipient & Sender'
},
hideWarnings: true // now the warning won't be logged
};
sgMail.send(msg);
我在 sendgrid api v3 的帮助下发送了一封电子邮件,但收到了 warning/error:
Content with characters ', " or & may need to be escaped with three brackets {{{ content }}}
在我的 api json 中,我添加了一个包含 &
字符的 link:
{"dynamic_template_data": {"link":"...&..."}}
在我的模板中,我使用了三个括号 {{{ link }}}
一切都按预期工作 - 电子邮件包括。 link 已发送 - 但我总是收到 warning/error。
我是否遗漏了 json 中的内容?
我查看了他们的 node.js 代码,只要任何内容字符串包含 (",',&),它就会 console.warn 您看到的消息。
if (/['"&]/.test(value)) {
console.warn(DYNAMIC_TEMPLATE_CHAR_WARNING);
}
您可以注意到在下面的 sendgrid 电子邮件模板中使用 2 个和 3 个括号的区别:
您可以在配置中设置 hideWarning: true
。
样本
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
const msg = {
to: 'recipient@example.org',
from: 'sender@example.org',
templateId: 'd-f43daeeaef504760851f727007e0b5d0',
dynamic_template_data: {
subject: 'Testing Templates',
name: 'Some One',
city: 'Denver',
company: 'Recipient & Sender'
},
hideWarnings: true // now the warning won't be logged
};
sgMail.send(msg);