我正在尝试制作一个快速程序,向用户显示通过Mandrill发送的电子邮件列表。
此程序不会发送邮件,因此我需要提取一个列表,而不是在邮件发送后收到通知。
目前我正在使用导出API https://mandrillapp.com/api/1.0/exports/activity.json来获取所有退回电子邮件的列表。唯一的问题是,过去14天内导出可能需要2个多小时,并且仅针对退回的电子邮件进行过滤。这对最终用户来说是不可接受的。等待几分钟就可以了。
那么,有没有其他方法可以获得退回电子邮件列表?或者有没有办法确保出口能够及时完成?
答案 0 :(得分: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]"
中相应地调整时间窗口,从而根据时间进行一些分页(请注意,开始和停止时间是以秒为单位的纪元时间)
搜索查询也有滞后,当时没有SLA。根据我的经验,我已经在3小时内得到了结果。如果您需要立即通知,我建议使用webhooks,如果可以打开防火墙,让mandrill向您的webhook发送更新。
答案 1 :(得分:1)
如果可能的话,我会配置一个Webhook https://mandrillapp.com/settings/webhooks订阅“Message is bounced”事件。
当邮件退回时,Mandrill会使用您需要解析的一些JSON发布到您定义的URL并进行记录。
以下是JSON数据的格式:https://mandrill.zendesk.com/hc/en-us/articles/205583307-Message-Event-Webhook-format
这样可以近乎实时跟踪反弹。