El primer correo de registro no se envió

Hola,

Acabo de realizar una instalación nueva de Discourse.

Al conectar por primera vez, se me pidió crear un nombre de usuario y contraseña para la cuenta de administrador, y se suponía que me enviaría un correo de activación.

Sin embargo, no recibí ese correo de activación (por supuesto, revisé la carpeta de spam), así que llamé al doctor y envié un mensaje de prueba a mí mismo, como se solicitaba. Este correo llegó inmediatamente a mi bandeja de entrada.

Sé que puedo crear una cuenta de administrador desde la línea de comandos, pero me gustaría entender qué está sucediendo, ya que podría ocurrir lo mismo con futuros usuarios que intenten registrarse.

¿Pueden ayudarme?

Saludos.

Hay dos cosas que pueden haber salido mal:

  • el correo no se envió
  • el correo se envió, pero no se entregó

Dado que se trata de una nueva instancia, lo más sencillo es revisar todos los registros de correo saliente desde la consola de Rails:

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

Si ves algo, sabrás que al menos fue entregado al servidor SMTP, que es donde termina la responsabilidad de Discourse.

Si no ves nada, probablemente no se envió y es probable que encuentres registros informativos revisando las rutas URL /logs y /sidekiq después de iniciar sesión como administrador.

Podemos ver que el mensaje de prueba se envió (y de hecho lo recibí) usando ./discourse-doctor, pero no hay ningún registro de los mensajes de registro :

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"]]

Encontramos cuatro mensajes de registro (de hecho intenté registrarme cuatro veces) en el archivo production.log. Sin embargo, esos mensajes de registro nunca se recibieron, así que supongo que nunca se enviaron, incluso si no hay ningún error o advertencia.
Podemos notar que no hay rastro del mensaje de prueba que se envió y recibió con éxito en esos registros.

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"}

Otros archivos de registro están vacíos :

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 

Los registros de Docker para la aplicación Discourse muestran cuatro mensajes indicando que falta algo (y tenemos cuatro mensajes de registro que fallaron) :

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

¿Esto puede ayudar?