我在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;
答案 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
参数。
希望这有帮助!