是否可以在 Mandrill 中使用嵌套的合并标签?
Posted
技术标签:
【中文标题】是否可以在 Mandrill 中使用嵌套的合并标签?【英文标题】:Is it possible to use nested merge tags in Mandrill? 【发布时间】:2014-05-16 13:10:43 【问题描述】:是否可以使用嵌套合并标签?
我们需要的是能够根据来自其他合并标签的值定义UNSUB
标签,就像这个例子:
<a
href="*|UNSUB:*|COMMUNITYURL|*/site/unsuscribe/user_id/*|USERID|*/hash/*|HASH|*/type/all|*">
Unsubscribe
</a>
这是正确的吗? 应该以不同的方式完成吗?
【问题讨论】:
(我没有使用过 mandrill API)。您的问题不清楚为什么要定义UNSUB
标签。是什么阻止你直接这样做:<a href="*|COMMUNITYURL|*/site/unsuscribe/user_id/*|USERID|*/hash/*|HASH|*/type/all|*"> Unsubscribe </a>
?
因为在 Mandrill 中,当您添加 UNSUB 合并标签时,它会自动将 List-Unsubscribe 标头添加到消息中。并且您的邮寄声誉得到了提高:)
顺便说一句,我正在使用 sendTemplate 通过 api 发送电子邮件,这是对多个邮件的一个请求。我知道预期 json 中存在 headers
部分,但这是一个通用部分,我需要为每封邮件提供个性化的退订链接。因此,我需要另一个部分用于个性化标题,例如对于合并变量,您可以使用 global_merge_vars
部分用于所有电子邮件中相同的合并标签,而 merge_vars
部分用于合并标签,这些标签取决于特定的邮件已发送。
【参考方案1】:
目前无法嵌套合并标签。在这种情况下,您最好的选择是添加您自己的 List-Unsubscribe 标头(使用 API 中的 headers
参数)并传递您自己的 URL,或者使用您的合并标签而不是 UNSUB 合并标签构建的 URL。
【讨论】:
但是如果我想发送一个包含多个收件人(有时是数千个)的请求并且应该为每个收件人个性化取消订阅链接:我如何包含 List-Unsubscribe 标头?我没有recipient_headers
部分...【参考方案2】:
From the API:
点击 [取消订阅] 链接时会发生什么?
如果收件人单击生成的链接,则邮件状态将更改为未订阅,并且 > 收件人的地址将添加到您的拒绝黑名单中 山魈帐户。 将附加重定向 URL 以包含两个 可用于处理取消订阅的查询字符串参数 在您自己的系统或数据库中:md_id - _id,在 API 调用和 webhook 中提供 单击退订链接的特定消息md_email - 收件人电子邮件地址的 URL 编码版本
因此您不必担心为每个用户生成退订网址。只需输入一个通用 url,mandrill 就会自动在 md_email 变量中附加该用户的电子邮件。
文档建议您这样做:
<a href="*|UNSUB:http://mywebsite.com/unsub|*">Click here to unsubscribe.</a>
而且 mandrill 会附加正确的用户电子邮件和 ID:
http://mywebsite.com/unsub?md_email=fulanito@gmail.com&m_id=23321
【讨论】:
这对我不起作用,因为我必须使用的取消订阅链接不是使用 madrill 的 webhooks 和 id 创建的,而是我们自己的。我需要在取消订阅链接中包含一个特定的 url(取决于接收消息的用户)一个 id 和一个安全哈希。【参考方案3】:由于 mandrill 不支持嵌套合并标签,如果您不介意用户单击取消订阅后,这里是针对您的情况的解决方案,它没有进入 mandrill 的黑名单,因为取消订阅都由您的应用程序处理.
根据您的情况:
-
手动撰写退订链接
例如
*|COMMUNITYURL|*/site/unsuscribe/user_id/*|USERID|*/hash/*|HASH|*/type/all/
在您的链接末尾,附加山魈收件人电子邮件 var.email=*|EMAIL|*
例如
*|COMMUNITYURL|*/site/unsuscribe/user_id/*|USERID|*/hash/*|HASH|*/type/all/?email=*|EMAIL|*
将链接放入您的山魈模板
<a href="*|COMMUNITYURL|*/site/unsuscribe/user_id/*|USERID|*/hash/*|HASH|*/type/all/?email=*|EMAIL|*">Unsubscribe Me</a>
参考:mandrill doc
【讨论】:
以上是关于是否可以在 Mandrill 中使用嵌套的合并标签?的主要内容,如果未能解决你的问题,请参考以下文章
如何获取 Mandrill/Mailchimp 模板以在合并标签中保留换行符