调用Node sparkpost API时,在replace数据中发送“CC”和“BCC”

我在sparkpost仪表板中创build了模板。 但是我面对的问题是,我无法通过进行api调用来发送“CC”或“BCC”。 下面的代码片段将帮助您了解我正在尝试做什么。

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"); } }); 

正如您在github问题上的回复中所提到的,您必须使用内联内容或模板。 所以如文档所述 ,只需在您的content使用template_id

需要做的是这个模板中的headers包含一个CC头部,如下所述。 目前无法在用户界面中设置模板的标题 – 必须使用API​​完成。

要做到这一点对模板端点执行一个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参数。

希望这可以帮助!