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
我正在尝试使用 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