Mandrill api日志说消息已发送,但我没有收到它,并且它没有显示在活动中

时间:2015-12-14 15:51:43

标签: mandrill

在Mandrill上使用生产密钥我正在尝试发送电子邮件。以前这没有问题。但是现在,尽管从api日志中可以看到API的成功响应,但是没有发送电子邮件,并且出站活动日志中没有任何内容。

如果我检查api日志中是否显示失败的消息,则会显示:

base.Foo(...)

替换已发送电子邮件的内容视图中的ID,其中包含失败的ID,显示格式正确的电子邮件:

e.g。 https://mandrillapp.com/activity/content?id=20151214_[put_the_id_here]

这是一个错误吗?是什么造成的?在哪里可以看到有关发生的事情的更多信息?如何在将来再次发生这种情况?我怎样才能防止它在将来发生?

3 个答案:

答案 0 :(得分:1)

我一直与Mandrill支持有关这个问题,他们称之为“非常奇怪”。删除API密钥并生成一个新密钥可以解决问题,但是没有解释为什么会出现这种情况,如何检测问题,或者如何阻止它在将来再次发生。

有问题的邮件实际上并未由Mandrill发送,并且尽管报告是由其API发送的,但未显示任何SMTP事件

答案 1 :(得分:1)

要检查的另一件事是确保您使用的是有效的API密钥,而不是test one。顾名思义,测试键的设计与常规键一样工作,因此对程序的反馈将是相同的,但实际上并不会发送消息。

通过转到Mandrill settings并查看API密钥列表,可以查看是否存在此问题。测试键上列出了非常清晰的This is a test key消息。

如果您自己生成密钥,这可能不会成为问题,但是,如果您继承了此项目,则值得一看。

答案 2 :(得分:0)

上周我遇到了类似的问题。 "发送" status仅表示Mandrill发送了它。但是,只有在info api响应中存在与其对应的SMTP事件且代码以2开头(例如250等)时,才会确认接收电子邮件,如下所示:

 "smtp_events": [
            {
                "ts": 1442448422,
                "type": "sent",
                "diag": "250 SmtpThread-4622542-14682902148@ps-they-19.uk.miplecast.lan Received OK",
                "source_ip": "505.207.171.171",
                "destination_ip": "705.139.255.221",
                "size": 29501
            }

查看此链接以获取更多信息。 https://mandrill.zendesk.com/hc/en-us/articles/205582697-How-to-Confirm-If-an-Email-Was-Actually-Delivered

问题也可能出现在收件人服务器上,因为交付可能会延迟。根据我们上周的经验,该消息在发送后4小时内发送。我们无法确定原因,这种延迟发生了。

HTH,