Я пытаюсь проверить настройки для 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/
, но, очевидно, получатель никогда не получает сигнал и, следовательно, ничего не печатает.
Я прошел через это пару раз, и я не могу понять, что мне не хватает.