【发布时间】:2016-12-01 21:58:29
【问题描述】:
我正在尝试使用 Django 下的 Anymail 从 Mailgun 获取 Webhook(打开电子邮件)http(不是 https)发布请求。
成功发送电子邮件并打开它后,请求从 Mailgun 发送到我的服务器,但由于某种原因,我一直在我的日志中收到此消息:
"Missing or invalid basic auth in Anymail Mailgun webhook"
我正在使用带有 Ubuntu 14.04 和 Python 2.7.12 的 Apache 服务器 我尝试使用 Django 测试服务器,它工作正常。
在我的setting.py中我有:
ANYMAIL = {
"MAILGUN_API_KEY": "key-f962ecaf....",
'WEBHOOK_AUTHORIZATION': 'SJEi3JF...:Qo9Eu1...'
}
EMAIL_BACKEND = "anymail.backends.mailgun.MailgunBackend"
当然 Anymail 在我的 INSTALLED_APPS 中。
Mailgun 中的 webhook url 是:
http://SJEi3JF...:Qo9Eu1...@mydomain.com/appname/anymail/mailgun/tracking/
我感觉它与 Django 阻止的 Post 参数有什么关系。
提前致谢。
经过更深入的检查,我发现request.META中没有HTTP_AUTHORIZATION,我仍然不知道为什么。
【问题讨论】:
-
您使用的是什么版本的 Anymail? a bug webhook 错误地执行 CSRF 检查,在 v0.4 中修复。
-
我也遇到了同样的问题。你找到解决方案了吗?
-
万一其他人遇到这个问题,就像我一样,WEBHOOK_AUTHORIZATION 现在必须重命名为 WEBHOOK_SECRET
标签: python django apache webhooks mailgun