Mandrill 向使用相同电子邮件的收件人发送个性化消息

Mandrill personalized message to recipients with same email

在 NodeJs 应用程序中,我使用 Mandrill 向注册不同类型活动的人发送电子邮件提醒。该应用程序每五分钟检查一次准备好的提醒并发送这些提醒。每次检查时的数量或提醒可以从零到很多不等。

但是问题来了:

例如,如果在某个检查中发现 3 个准备好的提醒,并且其中两个具有相同的收件人(相同的电子邮件),但不同 merge_vars 因为它们是关于不同的事件。当仅发送一个(第一个找到的?)一组 merge_vars 时,将用于 both 这些收件人。

那么,即使对于同一封电子邮件的多个收件人,我如何保持唯一性 merge_vars?我想我可以将重复的电子邮件地址分成几个不同的电话。但我真的很想打一个电话,然后发送一组收件人。可能吗?

目前,Mandrill 在 API 调用中使用电子邮件地址作为合并变量的唯一标识符,因此即使您已指定,也只能为电子邮件地址提供一组合并值该地址在 messages.to 参数中多次出现。如果您有多个独特的电子邮件要发送给同一收件人,此时应在单独的 API 调用中处理。

我找到了比多次 API 调用更简单的解决方法,并确认它有效。使用“+”符号为每个电子邮件地址附加一个唯一标识符。那么发送给同一个人的多封电子邮件在技术上将发送到不同的电子邮件地址,因此 Mandrill 的合并字段将正常工作。例如

example+event1@example.com
example+event2@example.com
example+event3@example.com

所有这三个都将通过正确的合并发送到 example@example.com,收件人甚至可以在以后搜索邮件时根据需要根据确切地址进行过滤。

(我现在在 2019 年遇到了同样的问题,所以假设原始问题还没有在 Mandrill 上解决。)

编辑:上述方法不适用于@yahoo.com 收件人,因为它们不支持子地址。电子邮件将被退回,就好像该地址不存在一样。 (我认为这是 Yahoo 的问题,而不是答案,因为它是标准的。但是无论如何,如果您要向有很多 yahoos 的群组发送电子邮件...呃,我的意思是 yahoo.com 封电子邮件,那么这种方法不会'没帮助。)