在本地测试Anymail Webhook,无法接收信号

时间:2018-06-25 01:10:56

标签: django webhooks mailgun django-anymail

我正在尝试针对Anymail(使用Mailgun)webhooks进行设置。当前使用https://ngrok.com/将HTTPS地址重定向到本地地址,以正确处理localhost:80地址。

Mailgun允许将测试请求发送到Webhook,该Webhook指向提供的临时ngrok地址,例如:

https://random:random@somthing.ngrok.io/webhooks/anymail/mailgun/tracking/

anymail-webhooks之后,该应用当前可以实际接收到Webhook调用,如日志中所示:

web          | "POST /webhooks/anymail/mailgun/tracking/ HTTP/1.1" 200 0

响应代码200表示后端正确接收了Webhook并发送了确认。

在此处设置网址:

path('webhooks/anymail/', include('anymail.urls')),

信号接收器很简单:

from anymail.signals import tracking
from django.dispatch import receiver

@receiver(tracking)
def handle_signal(sender, event, esp_name, **kwargs):
    print('[ --- ] {}'.format(event))

我希望每次/webhooks/anymail/mailgun/tracking/的POST都会在我的外壳中看到一些东西,但是显然接收者从未收到信号,因此什么也没打印。

我经历了几次,我不知道自己在想什么。

0 个答案:

没有答案