Sendgrid 始终发送文本电子邮件
Sendgrid Always Sends Text Email
我有一个 HTML sendgrid 模板,我正在使用 npm 包 'sendgrid' 通过 Node.js 发送它。问题是我总是收到文本格式的电子邮件,而不是 HTML,即使模板有 HTML.
代码:
var email = new sendgrid.Email({
to : 'me@here.com',
from : 'you@there.com',
subject : 'Saying Hi with HTML Template',
text : 'Body' //This is required
});
email.addFilter('templates', 'enable', 1);
email.addFilter('templates', 'template_id', '12131331.....');
email.addSubstitution('{{TOKEN1}}', 'value');
sendgrid.send(email, function(err, json) {
if (err) { console.error(err); }
console.log(json);
});
模板
<html>
<head><title></title></head>
<body>
<h1>This is a test</h1>
<p>{{TOKEN1}}</p>
<p><a href="http://www.there.com">There</a></p>
<div><%body%></div>
</body>
</html>
是否有我应该设置的代码参数?或者模板本身的设置允许 HTML?
根据documentation。如果您发送的是纯文本,则只能使用文本 属性。相反,使用 html 属性 来创建 HTML 消息。您可以使用内置的 setHtml
方法,如下所示:
var email = new sendgrid.Email();
email.setHtml('<h1>Some html</h1>');
sendgrid.send(email, function(err, json) { });
如果您使用的不是 SendGrid API,而是 System.Net.Mail 类 并且 sendgrid 设置如下:
EmailMessage.IsBodyHtml = true;
我有一个 HTML sendgrid 模板,我正在使用 npm 包 'sendgrid' 通过 Node.js 发送它。问题是我总是收到文本格式的电子邮件,而不是 HTML,即使模板有 HTML.
代码:
var email = new sendgrid.Email({
to : 'me@here.com',
from : 'you@there.com',
subject : 'Saying Hi with HTML Template',
text : 'Body' //This is required
});
email.addFilter('templates', 'enable', 1);
email.addFilter('templates', 'template_id', '12131331.....');
email.addSubstitution('{{TOKEN1}}', 'value');
sendgrid.send(email, function(err, json) {
if (err) { console.error(err); }
console.log(json);
});
模板
<html>
<head><title></title></head>
<body>
<h1>This is a test</h1>
<p>{{TOKEN1}}</p>
<p><a href="http://www.there.com">There</a></p>
<div><%body%></div>
</body>
</html>
是否有我应该设置的代码参数?或者模板本身的设置允许 HTML?
根据documentation。如果您发送的是纯文本,则只能使用文本 属性。相反,使用 html 属性 来创建 HTML 消息。您可以使用内置的 setHtml
方法,如下所示:
var email = new sendgrid.Email();
email.setHtml('<h1>Some html</h1>');
sendgrid.send(email, function(err, json) { });
如果您使用的不是 SendGrid API,而是 System.Net.Mail 类 并且 sendgrid 设置如下:
EmailMessage.IsBodyHtml = true;