Тестирование Anymail webhook локально, не может получить сигнал - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь проверить настройки для Anymail (используя Mailgun). В настоящее время используется https://ngrok.com/, который перенаправляет HTTPS-адрес на локальный адрес для правильной обработки localhost: 80 адресов.

Mailgun позволяет отправлять тестовые запросы на веб-крючок, который указывает на временные адреса, предоставленные 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 указывает, что серверная часть правильно приняла веб-крючок и отправила подтверждение.

Здесь указывается URL:

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))

Я ожидаю увидеть что-то в своей оболочке для каждого POST до /webhooks/anymail/mailgun/tracking/, но, очевидно, получатель никогда не получает сигнал и, следовательно, ничего не печатает.

Я прошел через это пару раз, и я не могу понять, что мне не хватает.

...