Reply-by-Email funktionierte, jetzt kaputt

Unsere „Antworten per E-Mail"-Funktion hat zwei Jahre lang funktioniert und ist vor 17 Tagen ohne ersichtlichen Grund ausgefallen. Ich habe die Protokolle der Mitarbeiteraktionen für diesen Zeitraum durchsucht, es gab keine relevanten Konfigurationsänderungen, keine Updates und keine neuen Plugins. Was könnte kaputtgegangen sein?


Keine empfangenen E-Mails nach dem 30. September:


Sie werden auch nicht abgelehnt:


In den Fehlerprotokollen ist nichts Offensichtlich relevantes zu finden, aber dies hier taucht auf:

aws-sdk-core-3.112.1/lib/seahorse/client/plugins/raise_response_errors.rb:17:in `call'

aws-sdk-s3-1.96.1/lib/aws-sdk-s3/plugins/sse_cpk.rb:24:in `call'

aws-sdk-s3-1.96.1/lib/aws-sdk-s3/plugins/dualstack.rb:36:in `call'

aws-sdk-s3-1.96.1/lib/aws-sdk-s3/plugins/accelerate.rb:50:in `call'

aws-sdk-core-3.112.1/lib/aws-sdk-core/plugins/jsonvalue_converter.rb:22:in `call'

aws-sdk-core-3.112.1/lib/aws-sdk-core/plugins/idempotency_token.rb:19:in `call'

aws-sdk-core-3.112.1/lib/aws-sdk-core/plugins/param_converter.rb:26:in `call'

aws-sdk-core-3.112.1/lib/seahorse/client/plugins/request_callback.rb:71:in `call'

aws-sdk-core-3.112.1/lib/aws-sdk-core/plugins/response_paging.rb:12:in `call'

aws-sdk-core-3.112.1/lib/seahorse/client/plugins/response_target.rb:24:in `call'

aws-sdk-core-3.112.1/lib/seahorse/client/request.rb:72:in `send_request'

aws-sdk-s3-1.96.1/lib/aws-sdk-s3/client.rb:1274:in `copy_object'

/var/www/discourse/lib/backup_restore/s3_backup_store.rb:61:in `block in vacate_legacy_prefix'

/var/www/discourse/lib/backup_restore/s3_backup_store.rb:60:in `each'

/var/www/discourse/lib/backup_restore/s3_backup_store.rb:60:in `vacate_legacy_prefix'

/var/www/discourse/app/jobs/onceoff/vacate_legacy_prefix_backups.rb:7:in `execute_onceoff'

/var/www/discourse/app/jobs/onceoff/onceoff.rb:25:in `execute'

/var/www/discourse/app/jobs/base.rb:232:in `block (2 levels) in perform'

rails_multisite-3.1.0/lib/rails_multisite/connection_management.rb:80:in `with_connection'

/var/www/discourse/app/jobs/base.rb:221:in `block in perform'

/var/www/discourse/app/jobs/base.rb:217:in `each'

/var/www/discourse/app/jobs/base.rb:217:in `perform'

sidekiq-6.2.2/lib/sidekiq/processor.rb:196:in `execute_job'

sidekiq-6.2.2/lib/sidekiq/processor.rb:164:in `block (2 levels) in process'

sidekiq-6.2.2/lib/sidekiq/middleware/chain.rb:138:in `block in invoke'

/var/www/discourse/lib/sidekiq/pausable.rb:138:in `call'

sidekiq-6.2.2/lib/sidekiq/middleware/chain.rb:140:in `block in invoke'

sidekiq-6.2.2/lib/sidekiq/middleware/chain.rb:143:in `invoke'

sidekiq-6.2.2/lib/sidekiq/processor.rb:163:in `block in process'

sidekiq-6.2.2/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'

sidekiq-6.2.2/lib/sidekiq/job_retry.rb:112:in `local'

sidekiq-6.2.2/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'

sidekiq-6.2.2/lib/sidekiq.rb:38:in `block in <module:Sidekiq>'

sidekiq-6.2.2/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'

sidekiq-6.2.2/lib/sidekiq/processor.rb:257:in `stats'

sidekiq-6.2.2/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'

sidekiq-6.2.2/lib/sidekiq/job_logger.rb:13:in `call'

sidekiq-6.2.2/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'

sidekiq-6.2.2/lib/sidekiq/job_retry.rb:79:in `global'

sidekiq-6.2.2/lib/sidekiq/processor.rb:124:in `block in dispatch'

sidekiq-6.2.2/lib/sidekiq/logger.rb:11:in `with'

sidekiq-6.2.2/lib/sidekiq/job_logger.rb:33:in `prepare'

sidekiq-6.2.2/lib/sidekiq/processor.rb:123:in `dispatch'

sidekiq-6.2.2/lib/sidekiq/processor.rb:162:in `process'

sidekiq-6.2.2/lib/sidekiq/processor.rb:78:in `process_one'

sidekiq-6.2.2/lib/sidekiq/processor.rb:68:in `run'

sidekiq-6.2.2/lib/sidekiq/util.rb:43:in `watchdog'

sidekiq-6.2.2/lib/sidekiq/util.rb:52:in `block in safe_thread'

Manuelles Polling wird verwendet, kein POP3-Polling:

image


Absender, die per E-Mail antworten möchten, erhalten keine Ablehnungsmeldung oder Fehlermeldung.

Das Versenden von E-Mails aus dem Forum funktioniert einwandfrei. Bei AWS SES gibt es keine Probleme (obwohl ich nicht glaube, dass das etwas mit „Antworten per E-Mail" zu tun hat?).

In discourse-doctor ist ebenfalls nichts Auffälliges (außer dass nicht-offizielle Plugins vermerkt sind, aber diese haben sich in diesem Zeitraum nicht geändert).

Das könnte einfach ein Zufall sein (und ein Teil von mir glaubt das auch), aber…

Das ist eine ziemlich wohlhabende Gruppe – ich bezweifle, dass viele alte Geräte verwendet werden.

Ich denke, es handelt sich eher um ein Problem auf der Serverseite als um eines auf der Clientseite.

Ich denke, du musst deinen Mail-Container neu erstellen.

Ich fürchte, ich brauche eine genauere Erklärung – im gesamten Meta-Bereich wird die NFL nicht erwähnt (außer bei Fußballmannschaften). NFS? Es gibt keine solchen Container in /var/discourse/containers.

Entschuldigung, Autokorrektur.

Erstelle deinen Mail-Container neu.

cd /var/discourse 
./launcher rebuild mail-receiver 

Danke @pfaffman, das hat es behoben. Klingt so, als hättest du das schon einmal gesehen – hätte etwas besser gemacht werden sollen? In unserem Fall gab es weitreichendere Konsequenzen, als nur das Nichterhalten von Benutzer-E-Mails:

VERP beruht auf eingehenden E-Mails. Daher haben wir einige Tage lang keine Bounces und Beschwerden verarbeitet, unser Ruf bei SES sank rapide, und sie haben unsere ausgehenden E-Mails gesperrt.

Das ist eine Folge von DST Root CA X3 Expiration (September 2021) - Let's Encrypt. Es hat einige Leute überrascht, und die Probleme, die es für Discourse-Selbsthoster verursacht hat, sind so subtil, dass sie übersehen wurden. Und es gibt immer noch Probleme, die gelöst werden müssen.

Ich vermute, dass die Behandlung am 1. Oktober eingestellt wurde.

Ich habe nie herausgefunden, wie man SES zum Laufen bringt. Als vorübergehende Notlösung könnte man den ausgehenden E-Mail-Versand mit Mailgun einrichten.