我现在也在做同样的事情。
Sendgrid Node Module on github, shows how to install sendgrid for node
首先您要创建一个 javascript 对象来保存您的配置。
var proccessing_payload = {
to : 'webdev@example.com',
from : 'processing@example.com',
subject : 'Transaction ID : 123 ~ Order is ready for processing',
text : 'You have a new order to process.\n Please login to process your order. \n DON'T FORGET TO SEND AN EMAIL WITH : tracking information and other useful information.',
html : '<p>You have a new order to process. Please login to process your order. <br/> DON'T FORGET TO SEND AN EMAIL WITH : tracking information and other useful information.</p>'
};
这是您发送电子邮件所需的基本设置。
现在您需要添加一些数据以发送到您在 sendGrid 仪表板中创建的模板。为此,我只是扩展了 processing_payload 对象。
首先:设置您的过滤器以告诉 sendGrid 您要使用什么模板。
注意* 我只有一个模板版本。我没有使用其他版本。
proccessing_payload.filters = {
"templates": {
"settings": {
"enable": 1,
"template_id": <YOUR TEMPLATE ID FROM SENDGRID>
}
}
};
第二:您需要将数据映射到您的 sendGrid 模板项。
注意* 在我的 sendGrid 模板中,我有一个表格,并且在其中一个表格单元格中我有“-product-”。那个“-product-”文本字符串将被我放入对象中的那个替换。下面的例子。
proccessing_payload.setSubs = {
"-product-" : ['This will be the replacement for the key. You will see this text in my email']
};
现在我们发送电子邮件:
_sendGrid.sendEmail(proccessing_payload);
_sendGrid 是我在需要我创建的 sendGrid 控制器的地方设置的变量。
示例:
var _sendGrid = require('./sendgrid.server.controller.js');
更多参考
exports.sendEmail = function(options){
var _options = options || {};
var payload = {
to : options.to,
from : options.from,
subject : options.subject,
text : options.text,
html : options.html,
setFrom : options.setFrom,
replyto : options.replyto ? options.replyto : 'no-reply@poshbellies.com'
};
var email = new sendgrid.Email(payload);
if(options.filters){
email.setFilters(options.filters);
}
if(options.setSubs){
email.setSubstitutions(options.setSubs);
}
sendgrid.send(email, function(err, json) {
if (err) { console.error(err); }
console.log('//////--- SEND GRID : ');
console.log(json);
});}
我的 sendgrid.server.contoller.js 中的 sendEmail 方法如下所示。
再举一个例子。这是我使用 -product- 标签的 sendGrid 模板中的一个 sn-p。而且您不必使用-product-。您可以使用#product# 或其他。
<table width="100%">
<tbody>
<tr>
<th>qty</th>
<th>category</th>
<th>Product</th>
</tr>
<tr>
<td align="center">-qty-</td>
<td align="center">-category-</td>
<td align="center">-product-</td>
</tr>
</tbody>
</table>
希望这会有所帮助!