2016-07-27 29 views
1

Ich versuche, eine Webhook (auf E-Mail öffnen) http (nicht HTTPS) Post Anfrage von Mailgun mit Anymail unter Django.Django + Anymail + Mailgun Webhook => keine HTTP_AUTHORIZATION in META

Nachdem eine E-Mail erfolgreich senden und es öffnen, wird die Anforderung an meinen Server von Mailgun geschickt, aber dann aus irgendeinem Grunde, den ich halte, diese in meinem Logs:

"Missing or invalid basic auth in Anymail Mailgun webhook"

Ich verwende Apache-Server mit Ubuntu 14.04 und Python 2.7.12 Ich habe versucht, mit Django Testserver und dort funktioniert es gut.

In meinem setting.py ich habe:

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

Und natürlich AnyMail in meinem INSTALLED_APPS ist.

Die Webhook url in Mailgun ist: http://SJEi3JF...:[email protected]/appname/anymail/mailgun/tracking/

Ich habe das Gefühl, dass es einige, wie im Zusammenhang mit Beitrag params von Django blockiert.

Danke in fortgeschrittenem.

Nach einer tieferen Überprüfung habe ich festgestellt, dass keine HTTP_AUTHORIZATION in request.META und immer noch nicht weiß, warum.

+0

Welche Version von Anymail verwendeten Sie? Es gab [einen Fehler] (https://github.com/anymail/django-anymail/commit/af0e36ab6556b372fbf5b92b3dea29fafb1a3866), in dem Webhooks CSRF-Prüfungen, die in v0.4 behoben wurden, fälschlicherweise durchsetzten. – medmunds

+0

Ich habe gerade das gleiche Problem festgestellt. Hast du jemals eine Lösung gefunden? – pymarco

Antwort

1

Ich habe dieses Problem gelöst, indem ich meinem apache conf folgendes hinzugefügt habe.

WSGIPassAuthorization On