在Mandrill上使用生产密钥我正在尝试发送电子邮件。以前这没有问题。但是现在,尽管从api日志中可以看到API的成功响应,但是没有发送电子邮件,并且出站活动日志中没有任何内容。
如果我检查api日志中是否显示失败的消息,则会显示:
base.Foo(...)
替换已发送电子邮件的内容视图中的ID,其中包含失败的ID,显示格式正确的电子邮件:
e.g。 https://mandrillapp.com/activity/content?id=20151214_[put_the_id_here]
这是一个错误吗?是什么造成的?在哪里可以看到有关发生的事情的更多信息?如何在将来再次发生这种情况?我怎样才能防止它在将来发生?
答案 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,