是否可以在Mandrill中使用嵌套合并标签?

时间:2014-04-04 09:40:14

标签: mailchimp mandrill

是否可以使用嵌套合并代码

我们需要的是能够根据其他合并标记的值定义UNSUB标记,例如:

<a 
href="*|UNSUB:*|COMMUNITYURL|*/site/unsuscribe/user_id/*|USERID|*/hash/*|HASH|*/type/all|*">
Unsubscribe
</a>

这是对的吗? 应该以不同的方式完成吗?

3 个答案:

答案 0 :(得分:2)

From the API:

  

点击[取消订阅]链接后会发生什么?

     

如果收件人点击生成的链接,则邮件状态将更改为“已取消订阅”和“取消订阅”。收件人的地址已添加到您的拒绝黑名单中   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处理的。

根据你的情况:

  1. 手动撰写取消订阅链接 例如 *|COMMUNITYURL|*/site/unsuscribe/user_id/*|USERID|*/hash/*|HASH|*/type/all/
  2. 在链接的末尾,添加mandrill收件人电子邮件var。email=*|EMAIL|*,例如 *|COMMUNITYURL|*/site/unsuscribe/user_id/*|USERID|*/hash/*|HASH|*/type/all/?email=*|EMAIL|*
  3. 将链接放入您的mandrill模板

    <a href="*|COMMUNITYURL|*/site/unsuscribe/user_id/*|USERID|*/hash/*|HASH|*/type/all/?email=*|EMAIL|*">Unsubscribe Me</a>

  4. 参考:mandrill doc