Prima email di registrazione non inviata

Ciao,

Ho appena completato una installazione pulita di Discourse.

Al primo accesso mi è stato chiesto di creare un nome utente e una password per l’account amministratore, con l’invio previsto di un’email di attivazione.

Tuttavia, non ho ricevuto tale email di attivazione (ho ovviamente controllato anche la cartella spam), quindi ho chiamato il medico e ho inviato un messaggio di prova a me stesso come richiesto. Questa email è arrivata immediatamente nella mia casella di posta in arrivo.

So che posso creare un account amministratore da riga di comando, ma vorrei capire cosa sta succedendo, poiché lo stesso problema potrebbe verificarsi per futuri utenti che proveranno a registrarsi.

Puoi aiutarmi?

Cordiali saluti.

Ci sono due cose che potrebbero essere andate storte:

  • l’email non è stata inviata
  • l’email è stata inviata, ma non è stata recapitata

Dato che si tratta di una nuova istanza, il modo più semplice per verificare è controllare tutti i log delle email in uscita dalla console di Rails:

discourse(prod)> EmailLog.all.pluck(:to_address, :email_type, :created_at, :smtp_transaction_response)

Se vedi qualcosa, saprai che è stata almeno consegnata al server SMTP, dove termina la responsabilità di Discourse.

Se non vedi nulla, probabilmente non è stata inviata e puoi trovare log informativi controllando i percorsi URL /logs e /sidekiq dopo aver effettuato l’accesso come amministratore.

Possiamo vedere che il messaggio di test è stato inviato (e in effetti l’ho ricevuto) utilizzando ./discourse-doctor, ma non c’è traccia dei messaggi di registrazione :

discourse(prod)> EmailLog.all.pluck(:to_address, :email_type, :created_at, :smtp_transaction_response)
=> [["user@domain.org", "test_message", 2026-05-13 16:23:41.417177000 UTC +00:00, "250 2.0.0 Ok: queued as 4B4DDB0059A"]]

Nel file production.log troviamo quattro messaggi di registrazione (infatti ho provato a registrarmi quattro volte). Tuttavia, quei messaggi di registrazione non sono mai stati ricevuti, quindi il mio sospetto è che non siano mai stati inviati, anche se non ci sono errori o avvisi.
Possiamo notare che non c’è traccia del messaggio di test, che è stato inviato e ricevuto con successo, in questi log.

root@my-vps-app:/var/www/discourse/log# cat production.log | grep user
  Parameters: {"authenticity_token" => "ityyLIdjT7xvdxEd01LjMT08-xxxx", "email" => "user@domain.org", "username" => "admin", "password" => "[FILTERED]", "commit" => "Register"}
  Parameters: {"authenticity_token" => "tnDxYkOOwXYcv59Ez4t8vWPir-xxxx", "email" => "user@domain.org", "username" => "admin", "password" => "[FILTERED]", "commit" => "Register"}
  Parameters: {"authenticity_token" => "bvOwVYHS3N_UELipxVEG3L3LY-xxxx", "email" => "user@domain.org", "username" => "admin", "password" => "[FILTERED]", "commit" => "Register"}
  Parameters: {"authenticity_token" => "oo6GN-n7clGI5F1-uqzsZcadeP-xxxx", "email" => "user@domain.org", "username" => "admin", "password" => "[FILTERED]", "commit" => "Register"}

Gli altri file di log sono vuoti :

root@my-vps-app:/var/www/discourse/log# cat production_errors.log 
root@my-vps-app:/var/www/discourse/log# cat sidekiq.log 
root@my-vps-app:/var/www/discourse/log# cat unicorn.stderr.log 
root@my-vps-app:/var/www/discourse/log# cat unicorn.stdout.log 

I log di Docker per l’app Discourse mostrano quattro messaggi che indicano che manca qualcosa (e abbiamo quattro messaggi di registrazione falliti) :

root@my-vps:/var/discourse# docker logs app
...
I, [2026-05-13T16:14:30.769269 #3290]  INFO -- : worker=7 gen=0 pid=4295 registered
I, [2026-05-13T16:14:30.815178 #4295]  INFO -- : worker=7 gen=0 pid=4295 ready
X-Accel-Mapping header missing
X-Accel-Mapping header missing
X-Accel-Mapping header missing
X-Accel-Mapping header missing

Questo può essere d’aiuto?