获取退回电子邮件列表,Mandrill

时间:2015-09-22 13:48:54

标签: c# email mandrill

我正在尝试制作一个快速程序,向用户显示通过Mandrill发送的电子邮件列表。

此程序不会发送邮件,因此我需要提取一个列表,而不是在邮件发送后收到通知。

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

那么,有没有其他方法可以获得退回电子邮件列表?或者有没有办法确保出口能够及时完成?

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

这样可以近乎实时跟踪反弹。