Django + Anymail + Mailgun Webhook => META 中没有 HTTP_AUTHORIZATION

Django + Anymail + Mailgun Webhook => no HTTP_AUTHORIZATION in META

我正在尝试使用 Django 下的 Anymail 从 Mailgun 获取 Webhook(在电子邮件打开时)http(不是 https)post 请求。

成功发送电子邮件并打开它后,请求从 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/

我觉得它与 Post 被 Django 阻止的参数有些关联。


经过更深入的检查,我发现 request.META 中没有 HTTP_AUTHORIZATION,但我仍然不知道为什么。

我通过将以下内容添加到我的 apache conf 中解决了这个问题。

WSGIPassAuthorization On