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

时间:2014-03-25 07:26:48

标签: email mandrill

我已经设置了一个Mandrill webhook,只要电子邮件遭到硬弹跳或被拒绝,它就会更新我的应用,因此我不会将该特定电子邮件地址保留在我的数据库中。它的工作方式是:用户给我一个地址,我发给他一个确认,如果我在30分钟内没有收到Mandrill的webhook,我认为没问题。< / p>

所以我使用不存在的地址进行了一些测试,但它们并没有太顺利。在我假设他们没事的很长时间之后,他们中的大多数都是在数小时内出现的。

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

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

1 个答案:

答案 0 :(得分:5)

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

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