E-mails rejetés d'Amazon SES/SNS ne fonctionnent pas

Je savais que Discourse propose un point de terminaison pour gérer les notifications SNS provenant d’Amazon SES. Ce point de terminaison est /webhooks/aws, et c’est là que j’en ai pris connaissance :

https://meta.discourse.org/t/handling-bouncing-e-mails/45343/177?u=wlandgraf

Tout fonctionne « presque » correctement. Je peux voir via les journaux CloudWatch qu’AWS envoie bien les notifications à ce point de terminaison. Je vois également que Discourse répond à la notification avec un code de statut de succès (200), après l’avoir configuré pour envoyer le message brut.

Cependant, l’e-mail n’apparaît pas dans la liste des e-mails « Rebondis » dans Discourse. Y a-t-il autre chose que je devrais faire ? Comment puis-je consulter un journal qui me montre ce que le point de terminaison a effectivement fait après avoir reçu la notification d’AWS ?

Ok, j’ai réussi à trouver le journal de la requête échouée, mais je suis toujours perdu quant à ce que cela pourrait être ?

Encoding::UndefinedConversionError ("\\xC3" de ASCII-8BIT vers UTF-8)
app/jobs/base.rb:314:in `block in enqueue'
lib/mini_sql_multisite_connection.rb:68:in `after_commit'
app/jobs/base.rb:314:in `enqueue'
app/controllers/webhooks_controller.rb:117:in `aws'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:355:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:177:in `call'

Ça semble être lié à ceci : Encoding::UndefinedConversionError from ASCII-8BIT to UTF-8 · Issue #24 · karafka/sidekiq-backend · GitHub.

Discourse transmet directement le JSON reçu d’Amazon SNS à Sidekiq, qui ne parvient pas à le traiter correctement.

Je me demande aussi pourquoi, dans webhooks_controller.rb, tous les webhooks appellent directement process_bounce, alors que celui d’AWS est le seul à mettre une tâche en file d’attente pour son traitement ?