调用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
参数。
希望这可以帮助!