发送" CC"和" BCC"在调用Node SparkPost API

时间:2016-08-04 08:19:34

标签: javascript node.js sparkpost

我在SparkPost仪表板中创建了模板。但我面临的问题是我无法发送" CC"或者" BCC"通过api调用。下面的代码片段将帮助您了解我要做的事情。



var SPARKPOST_KEY = "KEY"
var sparkpost = require('sparkpost');
var sparkclient = new sparkpost(SPARKPOST_KEY);

var req_opts = {
	transmissionBody : {
		content: {
			template_id: 'order-confirmation',
			from: 'support@domain.in',
      		subject: 'Order confirmation',
      		headers: {
      			"CC": "<anon2@gmail.com>"
      		}
		},
		substitution_data: {
			"CC": "anon2@gmail.com",
			"customer": "Aravind",
			"order": 123532
		},
		recipients: [
      		{address: {email:'anon1@domain1.in'}},
      		{address: {email: 'anon2@gmail.com'}}
    	],
    	"return_path": "support@domain.in",
	}
};

sparkclient.transmissions.send(req_opts, function(err, res){
	if(err){
		console.log("ERROR");
		console.log(err)
	}else {
		console.log(res.body);
		console.log("Mail has been successfully sent");
	}
});
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:2)

正如github issue上的回复中所述,您必须使用内联内容或模板。正如documentation所说,只需在template_id中使用content

要实现这一点,需要做的是模板中的headers包含CC标头,如here所述。目前,无法在UI中设置模板的标头 - 必须使用API​​完成。

要执行此操作,请执行针对templates endpoint的PUT,在您的情况https://api.sparkpost.com/api/v1/templates/order-confirmation中,使用包含以下内容的JSON有效内容:

{
  "content": {
    <other content parts>
    "headers": {
      "CC": "{{CC}}"
    }
  }
}

请注意,您还需要使用CC收件人的header_to参数,以防止其地址显示在To:标头中。在您的示例中,这意味着替换:

{address: {email: 'anon2@gmail.com'}}

用这个:

{address: {email: 'anon2@gmail.com', header_to: 'anon1@domain1.in'}}

您也不需要return_path参数。

希望这有帮助!