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

成功发送并打开电子邮件后,该请求已从Mailgun发送到我的服务器,但是由于某种原因,我一直在日志中收到此消息:

"Missing or invalid basic auth in Anymail Mailgun webhook"

我正在将Apache服务器与Ubuntu 14.04和Python 2.7.12配合使用
我尝试使用Django测试服务器,并且在这里工作正常。

在我的setting.py中,我有:

ANYMAIL = { "MAILGUN_API_KEY": "key-f962ecaf....", 'WEBHOOK_AUTHORIZATION': 'SJEi3JF...:Qo9Eu1...'}EMAIL_BACKEND = "anymail.backends.mailgun.MailgunBackend"

当然,Anymail也位于我的INSTALLED_APPS中。

Mailgun中的webhook网址为:
http://SJEi3JF...:[email protected]/appname/anymail/mailgun/tracking/

我觉得它与Django阻止的Post参数有什么关系。

先谢谢了。

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

最佳答案

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

WSGIPassAuthorization On

关于python - Django + Anymail + Mailgun Webhook => META中没有HTTP_AUTHORIZATION,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38620608/

10-13 09:32