拿到被退回邮件的名单,曼德拉

本文关键字:名单 曼德拉 | 更新日期: 2023-09-27 18:13:52

我试图做一个快速的程序,将显示用户的电子邮件列表通过Mandrill发送,反弹。

这个程序不会发送邮件,所以我需要提取一个列表,而不是在消息发送后收到通知。

目前我正在使用导出API https://mandrillapp.com/api/1.0/exports/activity.json来获取所有被退回的电子邮件的列表。唯一的问题是,在过去的14天里,导出可能需要2个多小时,而且只过滤了被退回的电子邮件。这对最终用户来说是不可接受的。稍等几分钟也可以。

那么,还有其他方法可以获得被退回的邮件列表吗?或者是否有办法确保出口能够及时完成?

拿到被退回邮件的名单,曼德拉

https://mandrillapp.com/api/1.0/messages/search.json

{
"key":"htha8888888",  
"query": "state:bounced",  
 "limit": 1000
}

这个查询的问题是,最多有1000条消息可以返回,所以你将不得不做一些基于时间的分页,相应地调整你的时间窗口,在你的搜索查询"query": "state:bounced AND ts:[START_TIME TO STOP_TIME]"(注意,开始和停止时间是epoch时间,以秒为单位)

搜索查询也有滞后,时间上没有SLA。根据我的经验,我得到结果不迟于3小时。如果你需要即时通知,我推荐webhooks,如果可行的话,打开你的防火墙,让mandrill发送更新到你的webhook。

如果可能的话,我会配置一个订阅"Message is bounce "事件的Webhook https://mandrillapp.com/settings/webhooks。

当邮件被退回时,Mandrill会发送一些JSON到你定义的URL,你需要解析并记录。

以下是JSON数据的格式:https://mandrill.zendesk.com/hc/en-us/articles/205583307-Message-Event-Webhook-format

这将给你近实时跟踪反弹