Reply-by-Email funzionava, ora è rotto

La nostra funzione Rispondi via Email ha funzionato per due anni, poi si è interrotta 17 giorni fa senza una ragione apparente. Ho cercato nei registri delle azioni dello staff per quel periodo e non ci sono state modifiche di configurazione rilevanti, nessun aggiornamento e nessun nuovo plugin. Cosa potrebbe essersi rotto?


Nessuna email ricevuta dopo il 30 settembre:


Non vengono nemmeno rifiutate:


Nei registri degli errori non c’è nulla di chiaramente correlato, ma c’è questo:

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'

Utilizzo il polling manuale, non il polling POP3:

image


I mittenti che cercano di rispondere via email non ricevono alcun avviso di rifiuto o messaggio di errore.

L’invio di email dal forum funziona correttamente. Nessun problema su AWS SES (anche se non credo che abbia a che fare con la funzione Rispondi via Email?).

Nessun problema rilevato da discourse-doctor (tranne il fatto che segnala plugin non ufficiali, ma questi non sono cambiati in questo periodo).

Potrebbe essere semplicemente una coincidenza (e una parte di me pensa che lo sia), ma…

È un gruppo piuttosto benestante: dubito che molti vecchi dispositivi siano in uso.

Pensavo che si trattasse più di un problema lato server, non lato client.

Penso che tu debba ricostruire il tuo container NFL.

Temo che mi servano ulteriori spiegazioni: non c’è alcun altro riferimento a NFL (tranne le squadre di football) in tutto meta. NFS? Non ci sono container del genere in /var/discourse/containers.

Scusa. Correzione automatica.

Ricostruisci il tuo contenitore di posta.

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

Grazie @pfaffman, così è stato risolto. Sembra che tu abbia già visto questo prima: c’è qualcosa che avrebbe dovuto essere fatto meglio? Nel nostro caso, le conseguenze sono andate oltre il semplice mancato invio delle email agli utenti:

VERP si basa sulle email in arrivo. Quindi non abbiamo gestito i rimbalzi e i reclami per alcuni giorni, la nostra reputazione su SES è crollata e hanno sospeso l’invio delle nostre email.

È una conseguenza di DST Root CA X3 Expiration (September 2021) - Let's Encrypt. Ha colto alla sprovvista alcune persone e i problemi che ha causato per gli utenti di Discourse in self-hosting sono abbastanza sottili da essere stati trascurati. E ci sono ancora problemi che devono essere risolti.

Sospetto che abbiano smesso di essere gestiti il 1° ottobre.

Non sono mai riuscito a capire come far funzionare SES. Una soluzione temporanea di emergenza sarebbe configurare l’invio di email con Mailgun.