Mir war bekannt, dass Discourse einen Endpunkt zur Verarbeitung von SNS-Benachrichtigungen von Amazon SES bietet. Der Endpunkt lautet /webhooks/aws, und hier habe ich davon erfahren:
Alles funktioniert „fast“ richtig. Ich kann über das CloudWatch-Log sehen, dass AWS die Benachrichtigungen an diesen Endpunkt sendet. Außerdem sehe ich, dass Discourse auf die Benachrichtigung mit einem erfolgreichen Statuscode (200) antwortet, nachdem ich es so konfiguriert habe, dass die Rohnachricht gesendet wird.
Allerdings erscheint die E-Mail nicht in der Liste der „abgelehnten“ (Bounced) E-Mails in Discourse. Gibt es noch etwas anderes, das ich tun sollte? Wie kann ich ein Log überprüfen, das zeigt, was der Endpunkt nach dem Empfang der Benachrichtigung von AWS tatsächlich getan hat?
Discourse übergibt das von Amazon SNS empfangene JSON direkt an Sidekiq, das es wiederum nicht ordnungsgemäß verarbeiten kann.
Ich frage mich auch, warum in webhooks_controller.rb alle Webhooks process_bounce direkt aufrufen und nur der AWS-Webhook einen Job zur Verarbeitung einreiht?