如何发送存储的模板,并指定reply_to,from.name和from.email?

这里解释了在发送内嵌内容时如何指定这些属性,但是当发送存储的模板时,据说它们是被禁止的。

我试图通过指定模板的ID以及禁止的属性发送电子邮件: reply_tofrom.namefrom.email ,并且禁止的属性被忽略。

我发现在发送事务性电子邮件时,将Reply-To标头设置为正常,并不罕见,而且我发现在发送存储模板时我无法做到这一点。 从代码而不是从SparkPost模板编辑器设置From name和email似乎也是一个很好的function。

我的代码如下所示(它使用SparkPost NodeJS API,带有replace数据的电子邮件已成功发送,因此问题不在代码数据, recipients或此代码的callback部分中):

 client.transmissions.send({ transmissionBody: { content: { template_id: 'my-first-email', reply_to: 'example@sparkpostbox.com', // example email address from: { name: 'My Name', email: 'example2@sparkpostbox.com' } }, substitution_data: { /* ... */ }, recipients: [ /* ... */ ] } }, function (err, res) { /* ... */ }); 

更新 :我在SparkPost支持中心find了这个问题 ,但它并没有帮助我。

更新2 :我也发现这个支持问题 ,可能会有所帮助,但我仍然需要一种方法来设置Reply-To标题,我不确定如果From电子邮件地址(而不是From名称,我确信可以做到这一点的链接文章)可以使用dynamicreplace数据。

更新3 :我发送了一封电子邮件给SparkPost支持,并收到以下答案:

产品经理继续说,我们没有这个function在产品中的时间。 请留意我们的网站并更新频道。

正如我已经testing并接受了这个问题的答案,我认为他们不了解我。 毕竟,这是一个快乐的结局。

正如Dave Gray上面提到的那样,您可以在模板中使用replacevariables来设置自定义的“From name”,“From email”和“Reply-To”字段。

下面是一个示例模板,显示了这个模板的外观

 { "content": { "from": { "name": "{{fromName}}", "email": "{{fromEmail}}" }, "subject": "{{subject}}", "html": "Hi! I am an HTML part.", "text": "I am a text part.", "reply_to": "{{replyTo}}" } } 

正如戴夫也指出,你需要使用API​​来更新你的存储模板与这些领域。 这里有一些JS要做到这一点。

然后你可以在你的传输中设置fromNamefromEmailreplyTo

 { "recipients": [ "..." ], "content": { "template_id": "your-dynamic-template" }, "substitution_data": { "fromName": "Your Name", "fromEmail": "you@yourdomain.com", "replyTo": "youagain@yourotherdomain.com" } } 

如果指定了template_id ,则不能在content对象中指定任何其他选项。 所以如果你想定制模板,你需要在模板中添加replacevariables。

需要注意的一点是,如果您在From:标头中使用replacevariables,则意味着您无法使用UI编辑该模板,因为使用经过validation的发送域的要求很高(在UI中)。