【问题标题】:Django + Anymail + Mailgun Webhook => no HTTP_AUTHORIZATION in METADjango + Anymail + Mailgun Webhook => META 中没有 HTTP_AUTHORIZATION
【发布时间】:2016-12-01 21:58:29
【问题描述】:

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

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

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

提前致谢。

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

【问题讨论】:

  • 您使用的是什么版本的 Anymail? a bug webhook 错误地执行 CSRF 检查,在 v0.4 中修复。
  • 我也遇到了同样的问题。你找到解决方案了吗?
  • 万一其他人遇到这个问题,就像我一样,WEBHOOK_AUTHORIZATION 现在必须重命名为 WEBHOOK_SECRET

标签: python django apache webhooks mailgun


【解决方案1】:

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

WSGIPassAuthorization On

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-27
    • 1970-01-01
    • 2020-12-25
    • 2015-01-28
    • 2015-11-13
    • 2015-05-21
    • 1970-01-01
    • 2013-01-19
    相关资源
    最近更新 更多