我使用Mailgun作为我维护的网站,通常Mailgun工作得很好,但我遇到了一个奇怪的问题 . 我的脚本调用HTTP API使用Mailgun发送消息,然后这些消息在我的日志中显示为“已接受”,但是需要很长时间才能“交付”,通常根本无法交付,只是保持为“公认” . 有没有人遇到类似的错误或任何人都可以提出修复方法?我猜它是在提供给API的参数中,但我不能为我的生活找出问题所在 .
对于不同的收件人域和一天中的不同时间存在问题 .
有问题的消息的JSON日志如下 . 当然,我已经改变了地址和域名 .
{
"tags": [],
"timestamp": 1411498829.247304,
"envelope": {
"targets": "my-own-email@address.com",
"transport": "",
"sender": "noreply@the-site-in-question.com"
},
"recipient-domain": "address.com",
"event": "accepted",
"campaigns": [],
"user-variables": {},
"flags": {
"is-authenticated": true,
"is-system-test": false,
"is-test-mode": false
},
"message": {
"headers": {
"to": "my-own-email@address.com",
"message-id": "20140923190027.112157.29352@the-site-in-question.com",
"from": "\"the-site-in-question.com\" <noreply@the-site-in-question.com>",
"subject": "Dom, your password was reset."
},
"attachments": [],
"recipients": [
"my-own-email@address.com"
],
"size": 556
},
"recipient": "my-own-email@address.com",
"method": "http"
}
3 回答
每当邮件在Mailgun日志中显示为“已接受”时,这表示Mailgun已接受该邮件并将其排队等待传递 . 邮件应该相当快速地传递,但是如果您一次提交大量邮件或者收件人ESP限制来自您帐户的IP /域的邮件,它可能会排队一段时间 .
我建议您通过Mailgun帐户打开支持服务单,并提供一些消息ID,以便支持团队可以在邮件提交给Mailgun后调查这些延迟的确切原因 .
如果这种情况经常发生,那么Mailgun很可能会让您使用其中一个低层IP地址 . 我想这是免费帐户的默认设置,因为他们不希望用可能不严肃/合法的新用户“污染”他们的好地址 .
您可以在Sender Score等网站上查看IP地址的"quality" . 在已发送邮件的Mailgun日志中找到此行:
如果发件人得分在70年代显示得分,那就是你的问题 . 正如克里斯建议的那样,向Mailgun发送支持票,看看他们是否可以获得更高质量的IP地址 . 我这样做了,我的电子邮件现在是从一个分数为90的IP地址发送的 . 从那以后没有一次延迟 .
对于使用默认Mailgun域名的人,他们会像我一样在这里结束:
Mailgun将我的电子邮件记录为“已接受”和“已发送”,但我的收件箱中未收到任何电子邮件 .
要解决此问题,您需要授权收件人电子邮件地址:Read More Here