2015-03-13 117 views

回答

14

是的,這真的很容易,你只需要在添加它作爲一個過濾器。以下是它的外觀:

var cardEmail = new sendgrid.Email({ 
    to: "[email protected]", 
    from: "[email protected]", 
    subject: process.env.SUBJECT, 
    html: '<h2>Thanks for requesting a business card!</h2>', // This fills out the <%body%> tag inside your SendGrid template 
}); 

// Tell SendGrid which template to use, and what to substitute. You can use as many substitutions as you want. 
cardEmail.setFilters({"templates": {"settings": {"enabled": 1, "template_id": "325ae5e7-69dd-4b95-b003-b0109f750cfa"}}}); // Just replace this with the ID of the template you want to use 
cardEmail.addSubstitution('-greeting-', "Happy Friday!"); // You don't need to have a substitution, but if you want it, here's how you do that :) 

// Everything is set up, let's send the email! 
sendgrid.send(cardEmail, function(err, json){ 
    if (err) { 
    console.log(err); 
    } else { 
    console.log('Email sent!'); 
    } 
}); 

我希望能幫到你。如果您需要更多洞察力,請查看我寫的有關using Template Engine with sendgrid-nodejs的博文。

+0

什麼是替代?像Mandrill一樣的標籤? :) – jdnichollsc 2016-04-27 13:42:40

+1

這不再適用於最新的SDK :( – 2017-02-01 13:51:47

4

,使其與版本4.xx的使用本作品:

var helper = require('sendgrid').mail; 
 
var from_email = new helper.Email('[email protected]'); 
 
var to_email = new helper.Email('[email protected]'); 
 
var subject = 'I\'m replacing the subject tag'; 
 
var content = new helper.Content('text/html', 'I\'m replacing the <strong>body tag</strong>'); 
 
var mail = new helper.Mail(from_email, subject, to_email, content); 
 
mail.personalizations[0].addSubstitution(new helper.Substitution('-name-', 'Example User')); 
 
mail.personalizations[0].addSubstitution(new helper.Substitution('-city-', 'Denver')); 
 
mail.setTemplateId('13b8f94f-bcae-4ec6-b752-70d6cb59f932');

Full example

相關問題