邮件API,能够按交付时间将邮件分组到发件人

时间:2014-06-09 03:00:00

标签: php api email mailgun

对于我们的产品,我们需要能够为收件人安排电子邮件。我们的产品还希望确保收件人不会收到过多邮件的垃圾邮件。因此,我们正在寻找一种API,允许我们的产品将消息安排到API,如果API发现同时安排​​了多条消息,那么它会以合理智能的方式将它们组合在一起。

示例,该产品使用以下请求调用API:

  • to:test@test.com,title:"您需要批准请求123"消息:" XYZ",日程安排:2PM
  • to:test@test.com,title:"您的234请求已被批准"消息:" PQR",日程安排:2PM

下午2点,test @ test.com收到以下内容:

  • title:"来自Product"
  • 的消息
  • 消息:<上述两个标题和消息的组合消息>

似乎MailGun符合我们的一般要求,除了这一要求。有没有解决这个问题的API?如果没有,别人怎么解决呢?

2 个答案:

答案 0 :(得分:2)

您可以创建一个包含两个表的简单数据库,“收件人”(姓名,电子邮件地址)和“邮件”(date_created,body,...)。收件人与邮件的关系显然是1:n。

然后你设置一个cron作业,收集所有比5个小时更早的消息,比如5个小时;按收件人对它们进行分组,将消息包装成一个漂亮的模板并将它们传递给MTA。

不过,我个人认为,在短时间内发送几封电子邮件是可以接受的 - 因为每封电子邮件都是有意义且独立的。您尝试减少电子邮件流量是非常好的,但在大多数情况下,人们不介意,他们会欣赏即时通知。

答案 1 :(得分:0)

我怀疑你会发现任何具有此功能的API /库。

以合理智能的方式组合消息“对于一个完全不了解内容性质的图书馆来说,几乎是不可能的。”

使用mailgun发送邮件是一个非常强大的选项 - 你提到的限制是你必须自己添加的。

如果消息以任何速率被抽出,您将需要引入等待时间以查看是否有其他消息。如果您刚刚收到消息(等待之后),则必须知道消息的速率,否则您将不得不引入延迟。

如果系统安排发送消息 - 例如。在晚上/早上向用户发送状态消息可能是将消息转换为实际电子邮件之前组合消息的更好方法。