是否可以使用嵌套合并代码?
我们需要的是能够根据其他合并标记的值定义UNSUB
标记,例如:
<a
href="*|UNSUB:*|COMMUNITYURL|*/site/unsuscribe/user_id/*|USERID|*/hash/*|HASH|*/type/all|*">
Unsubscribe
</a>
这是对的吗? 应该以不同的方式完成吗?
答案 0 :(得分:2)
点击[取消订阅]链接后会发生什么?
如果收件人点击生成的链接,则邮件状态将更改为“已取消订阅”和“取消订阅”。收件人的地址已添加到您的拒绝黑名单中 Mandrill帐户。 重定向网址将附加到包含两个 可用于处理取消订阅的查询字符串参数 在您自己的系统或数据库中:
md_id - _id,在API调用和webhooks中提供 单击取消订阅链接的特定消息
md_email - 收件人电子邮件地址的网址编码版本
因此,您不必担心为每个用户生成取消订阅网址。只需将通用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
答案 1 :(得分:2)
目前无法嵌套合并代码。在这种情况下,您最好的选择是添加自己的List-Unsubscribe标头(使用API中的headers
参数)并传递您自己的URL或使用合并标签构建的URL,但不传递UNSUB合并标签
答案 2 :(得分:0)
由于mandrill不支持嵌套合并标签,如果您在用户点击unsub之后不介意,这里就是像你这样的案例的解决方案,它不会去mandrill的黑名单,因为unsubsription都是由你的app处理的。
根据你的情况:
*|COMMUNITYURL|*/site/unsuscribe/user_id/*|USERID|*/hash/*|HASH|*/type/all/
email=*|EMAIL|*
,例如
*|COMMUNITYURL|*/site/unsuscribe/user_id/*|USERID|*/hash/*|HASH|*/type/all/?email=*|EMAIL|*
将链接放入您的mandrill模板
<a href="*|COMMUNITYURL|*/site/unsuscribe/user_id/*|USERID|*/hash/*|HASH|*/type/all/?email=*|EMAIL|*">Unsubscribe Me</a>
参考:mandrill doc