wlandgraf
(Wagner Landgraf)
1
Discourse が Amazon SES からの SNS 通知を処理するためのエンドポイントを提供していることは知っていました。そのエンドポイントは /webhooks/aws で、私がこれを知ったのは以下のページです:
https://meta.discourse.org/t/handling-bouncing-e-mails/45343/177?u=wlandgraf
ほぼすべてが機能しています。CloudWatch ログを通じて、AWS がそのエンドポイントに通知を送信していることが確認できます。また、生メッセージを送信するように設定した後、Discourse が通知に対して成功ステータスコード(200)で応答していることも確認できました。
しかし、Discourse の「Bounced」メールのリストにそのメールが表示されません。他に何か行うべきことはありますか?AWS からの通知を受け取った後、エンドポイントが実際に何を行ったかを示すログを確認する方法はありますか?
wlandgraf
(Wagner Landgraf)
2
はい、失敗したリクエストに関するログは見つかりましたが、これが何なのか依然として見当がつきません。
Encoding::UndefinedConversionError ("\\xC3" from ASCII-8BIT to 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'
wlandgraf
(Wagner Landgraf)
3
これは以下の issue と関連しているようです: Encoding::UndefinedConversionError from ASCII-8BIT to UTF-8 · Issue #24 · karafka/sidekiq-backend · GitHub
Discourse は Amazon SNS から受け取った JSON を Sidekiq に直接渡していますが、Sidekiq はそれを適切に処理できないでいます。
また、webhooks_controller.rb ではすべてのウェブフックが process_bounce を直接呼び出しているのに対し、AWS のものだけが処理用のジョブをキューイングしているのはなぜでしょうか?