Probabilmente riesco a trovarlo, ma sai quale fosse il nome del job Sidekiq che ha attivato l’email?
Se non riesci ad accedere al sito perché non ricevi l’email di attivazione, puoi creare un utente amministratore e una password con rake admin:create. Le istruzioni complete sono qui: Create an admin account from the console. Questo dovrebbe permetterti di accedere al sito.
Sembra che dovrai comunque risolvere cosa sta succedendo con la consegna delle email.
Mi scuso per la risposta in ritardo. Il processo che l’ha innescata è stato: Jobs::CriticalUserEmail
Quindi ho seguito la guida esattamente. Quando si è trattato di registrare l’account admin, non è stata inviata alcuna email e Jobs::CriticalUserEmail conteneva {“type”=>“signup”, “user_id”=>1, “email_token”=>“REDACTED”, “to_address”=>nil, “current_site_id”=>“default”}.
Ho forzato l’account admin solo per poter vedere quali fossero i problemi. Il risultato è il seguente:
Doctor funziona e l’email viene ricevuta
Digest test funziona e l’email viene ricevuta sia in versione HTML che Plain
Nessuna registrazione invia email e il log delle email nella sezione admin non mostra nemmeno un messaggio che un’email è stata inviata.
Ogni volta che un utente tenta di registrarsi, il risultato è lo stesso:
Jobs::CriticalUserEmail conteneva {“type”=>“signup”, “user_id”=>2, “email_token”=>“REDACTED”, “to_address”=>nil, “current_site_id”=>“default”}.
La coda di /var/discourse/shared/standalone/log/rails/production.log mostra (con le parti omesse):
Processing by UsersController#check_username as JSON
Parameters: {"username"=>"bobo", "email"=>"REDACTED"}
Completed 200 OK in 2ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 636)
Started GET "/session/csrf" for REDACTEDPUBLICIP at 2024-09-26 08:13:03 +0000
Processing by SessionController#csrf as JSON
Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 270)
Started POST "/u" for REDACTEDPUBLICIP at 2024-09-26 08:13:03 +0000
Processing by UsersController#create as */*
Parameters: {"name"=>"JJ", "email"=>"REDACTED", "password"=>"[FILTERED]", "username"=>"bobo", "password_confirmation"=>"[FILTERED]", "challenge"=>"REDACTED", "timezone"=>"Europe/London"}
Completed 200 OK in 335ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 23323)
Started POST "/login" for REDACTEDPUBLICIP at 2024-09-26 08:13:04 +0000
Processing by StaticController#enter as HTML
Parameters: {"username"=>"bobo", "password"=>"[FILTERED]", "redirect"=>"/u/account-created"}
Redirected to https://REDACTEDDOMAIN/u/account-created
Completed 302 Found in 1ms (ActiveRecord: 0.0ms | Allocations: 507)
Started GET "/u/account-created" for REDACTEDPUBLICIP at 2024-09-26 08:13:04 +0000
Processing by UsersController#account_created as HTML
Rendered layout layouts/application.html.erb (Duration: 14.0ms | Allocations: 4624)
Completed 200 OK in 21ms (Views: 15.1ms | ActiveRecord: 0.0ms | Allocations: 6821)
Started GET "/sidekiq/queues/critical" for REDACTEDPUBLICIP at 2024-09-26 08:13:15 +0000
Nel log, mostra email accurate per i parametri di registrazione, ma sidekiq riporta ancora “to_address”=>nil.
Ci sono errori nella pagina dei log degli errori del tuo sito? Quella pagina si trova su /logs. Puoi accedervi dal pannello di amministrazione facendo clic sulla voce Sicurezza / Log degli errori.
C’è qualcosa che non va con Redis e/o Sidekiq. Ci sono alcuni altri membri di questo forum che potrebbero avere idee su come eseguire il debug del problema.
Sarei tentato di connettermi via ssh al server ed eseguire:
Posso fornirti il processo esatto che ho utilizzato. Forse c’è qualcosa che sto facendo di sbagliato. Sono disposto ad accettare totalmente che sto commettendo un errore da qualche parte!
Ho un dominio. È discourse.domain.dev (dominio ovviamente modificato)
Ho un account email configurato. Ho un account mailgun, quindi ho impostato un nuovo utente per SMTP. L’email è discourse@discourse.domain.dev
Ho un server. È l’ultima versione di Ubuntu (Jammy Jellyfish)
Eseguito ./discourse-doctor. È fallito perché non riusciva a connettersi a redis.
Eseguito ./launcher rebuild app e non ho cambiato nulla nella configurazione
È stato costruito. Tutto ok. L’unica differenza era l’ultima stringa lunga redatta.
Eseguito ./discourse-doctor. Ho ricevuto l’email di test da esso.
Il sito era attivo, quindi sono andato a creare un account utente per l’admin.
Cliccato su Registrati
Ha detto che stava inviando un’email di notifica.
Nessuna ricevuta.
Controllato tramite ./discourse-docter e ho visto questo: Versione di Discourse su discourse.domain.dev: NON TROVATA Versione di Discourse su localhost: NON TROVATA
Eseguito ./launcher enter app
Eseguito rake admin:create
Inserito email: my@personal.email
Reimpostata Password poiché l’utente esiste già
Messaggio “Il tuo account ora ha i privilegi di Admin!”
Acceduto al sito sul dominio
Vai su discourse.domain.dev/logs - vedi “Test heartbeat Sidekiq fallito, riavvio”
Questa è una rifacimento completo su una nuova macchina oggi. Questi sono gli stessi IDENTICI passaggi che ho usato prima. Per favore, se ho sbagliato, fatemelo sapere!