我正试图使用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 url为:
http://SJEi3JF...:Qo9Eu1...@mydomain.com/appname/anymail/mailgun/tracking/
我有一种感觉,它与被Django屏蔽的Post params有一些关系。
经过更深入的检查,我发现request.META
中没有HTTP_AUTHORIZATION
,但我仍然不知道为什么。
我通过在我的apache conf.中添加以下内容来解决这个问题
WSGIPassAuthorization On