如何发送存储的模板,并指定reply_to,from.name和from.email?
这里解释了在发送内嵌内容时如何指定这些属性,但是当发送存储的模板时,据说它们是被禁止的。
我试图通过指定模板的ID以及禁止的属性发送电子邮件: reply_to
, from.name
和from.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要做到这一点。
然后你可以在你的传输中设置fromName
, fromEmail
和replyTo
:
{ "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中)。