Mandrill:在假设可传递性之前我要等多久?

Tom*_*ler 5 email mandrill

我已经设置了一个Mandrill webhook,它会在电子邮件遭到硬弹跳或被拒绝时更新我的​​应用程序,因此我不会将该特定电子邮件地址保留在我的数据库中.它的工作方式是:用户给我一个地址,我发给他一个确认,如果我没有在30分钟内听到Mandrill的webhook,我认为没关系.

所以我用不存在的地址运行了一些测试,但它们并没有太顺利.在我认为他们没事的很长时间之后,他们中的大多数都出现了几个小时.

另外,我没有说明接收webhook批次的延迟.根据出站活动日志,一封邮件在下午2:01反弹,但是webhook历史记录显示批次仅在下午2:52发送.

我的问题是:为了让Mandrill有足够的时间来检测硬反弹/拒绝然后向我发送webhook批次,我应该延迟我的应用程序的可传递性假设多长时间?由于延迟处理高峰时间或其他特殊事件,我可以忍受大约5%的糟糕电子邮件,但看起来我的30分钟还不足以捕捉到任何东西......

Ale*_*øld 5

不是你想要的答案,但Mandrill不允许你这样做.检查电子邮件是否已发送的唯一方法是轮询Mandrill(使用message/info.json API).要查看邮件是否已发送,您必须检查smtp_events并查找diag以250开头的事件.如您所见,可能需要很长时间才能通过API访问邮件.根据我的经验,正常情况大概是10分钟,但可能需要很多很多小时(这是反弹电子邮件以及立即发送的电子邮件的情况).

如果您知道何时发送电子邮件很重要,我建议您切换到另一个电子邮件提供商.这里 有 很多 的 不同 的人那里.我个人使用亚马逊SES.它们比Mandrill便宜,并且您可以在一秒左右之后收到送货通知.请注意,Amazon SES比Mandrill更加愚蠢(他们不支持开放/点击跟踪,模板,专用IP等),因此它可能不适合您.