在NodeJs应用程序中,我使用Mandrill向注册了不同类型事件的人发送电子邮件提醒。应用程序每五分钟检查一次就绪提醒并发送这些提醒。每次检查时,数字或提醒可以从零到多不等。
但问题出现了:
例如,如果在特定支票上找到3个就绪提醒,其中两个具有相同的收件人(相同的电子邮件),但不同的merge_vars
因为它们是关于不同的事件。发送时,只有一个(第一个找到?)的merge_vars
组将用于这两个的收件人。
那么,如何使用相同的电子邮件将唯一merge_vars
保留给多个收件人?我想我可以将重复的电子邮件地址分成几个不同的电话。但我真的想做一个电话,并发送一组收件人。有可能吗?
答案 0 :(得分:5)
目前,Mandrill使用电子邮件地址作为API调用中合并变量的唯一标识符,因此即使您已指定,也只能为电子邮件地址提供一组合并值在messages.to
参数中多次寻址。如果您有多个唯一的电子邮件要发送给同一个收件人,那么此时应该在单独的API调用中处理。
答案 1 :(得分:0)
我现在在2019年遇到同样的问题,因此假设该问题尚未在Mandrill上解决。
编辑:我发现比多个API调用更简单的解决方法,并确认它可以工作。使用“ +”符号将唯一标识符附加到每个电子邮件地址。从技术上讲,发给同一个人的多封电子邮件将发往不同的电子邮件地址,因此Mandrill的合并字段将正常工作。例如
example+event1@example.com
example+event2@example.com
example+event3@example.com
所有这三个都将以正确的合并方式传递到example@example.com,如果以后希望搜索邮件时,收件人甚至可以根据确切的地址进行过滤。
编辑1:上述方法不适用于@ yahoo.com收件人,因为它们不支持子地址。电子邮件将被退回,好像该地址不存在一样。 (我认为这是Yahoo的问题,不是答案,因为这是标准问题。但是无论如何,如果您通过电子邮件向小组发送了很多yahoo ... erm,yahoo.com电子邮件,我的意思是,这种方法将无济于事)