El siguiente informe fue preparado para mí por ChatGPT, basado en mi experiencia real instalando Discourse (al no ser yo muy experto en tecnología, he estado recurriendo a la IA para obtener ayuda con tareas que me resultan difíciles). No necesito ayuda por ahora, pero espero que el informe pueda servir como una retroalimentación útil sobre la versión 3.5.0.beta2-dev.
==================
Estimado equipo de Discourse,
Quiero compartir algunos detalles de solución de problemas sobre los problemas de correo electrónico que encontré al ejecutar Discourse 3.5.0.beta2-dev. No necesito asistencia directa ya que he decidido volver a 3.4.0.beta4-dev, pero espero que este informe sea útil para identificar posibles problemas con la última versión de desarrollo.
1. Resumen del problema
Realicé una instalación limpia de Discourse en una nueva instancia de Vultr, utilizando el servicio SMTP de 20i (smtp.stackmail.com). Sin embargo, los correos electrónicos nunca se entregaron, a pesar de:
- Una prueba de conectividad SMTP exitosa (
openssl s_client -connect smtp.stackmail.com:587 -starttls smtp). - No aparecer errores en los registros de correo de 20i (lo que sugiere que Discourse en realidad no estaba enviando correos electrónicos).
- Sidekiq fallando al procesar trabajos de correo electrónico.
Esto fue inesperado porque hace unas semanas, instalé con éxito Discourse 3.4.0.beta4-dev en una instancia idéntica sin ningún problema de correo electrónico.
Después de una depuración exhaustiva, descubrí que mi instalación actual había instalado inesperadamente Discourse 3.5.0.beta2-dev, lo que probablemente contribuyó a los problemas.
2. Problemas clave identificados
A. Los correos electrónicos no se entregaron
- La configuración SMTP era correcta, verificada mediante pruebas manuales (las pruebas
swaksyopenssltuvieron éxito). - Los correos electrónicos se encolaron en Sidekiq pero nunca se recibieron.
- Los registros de correo de 20i no mostraron ningún rechazo ni intento de entrega (lo que sugiere que los mensajes nunca salieron de Discourse).
- No aparecieron errores relacionados con el correo electrónico en
production.log(grep "smtp"no devolvió nada).
B. Problemas de Sidekiq y Redis
- Inicialmente, Sidekiq no se estaba ejecutando (
Sidekiq::Workers.new.sizedevolvió0). - Reiniciar Sidekiq manualmente (
sv restart sidekiq) falló porque Sidekiq faltaba como servicio. - Redis se estaba ejecutando (
redis-cli pingdevolvióPONG), pero los registros de Discourse aún mostraban errores de conexión a Redis (Errno::ECONNREFUSED). - Los registros de Sidekiq indicaban fallos en los trabajos debido a problemas de conexión a Redis, a pesar de que se confirmó que Redis estaba activo.
- Iniciar Sidekiq manualmente (
bundle exec sidekiq) permitió procesar trabajos, pero los correos electrónicos aún no se enviaban.
C. Desajuste de versión entre instalaciones
- Mi instalación anterior (que funcionó) estaba en 3.4.0.beta4-dev.
- Mi instalación actual instaló inesperadamente 3.5.0.beta2-dev, a pesar de utilizar el mismo método de configuración.
- Dado que el correo electrónico funcionó perfectamente en 3.4.0.beta4-dev, sospecho de una regresión o un cambio que rompe la compatibilidad en la versión 3.5.
3. Acciones tomadas (Todas fallidas)
Intentamos sistemáticamente las siguientes soluciones:
Conectividad SMTP confirmada con:
openssl s_client -connect smtp.stackmail.com:587 -starttls smtp # Exitoso
swaks --to my-email --server smtp.stackmail.com --port 587 --auth LOGIN # Exitoso
Verificado que los correos electrónicos se encolaron:
Jobs.enqueue(:user_email, type: :test_message, to_address: 'masden@kumagaku.ac.jp') # Devolvió un ID de trabajo
Sidekiq::Queue.new("default").size # Devolvió 0 (indicando que el trabajo se procesó)
Revisados los registros de Discourse:
grep "smtp" /shared/log/rails/production.log # No hay errores relacionados con SMTP
- Fallos de conexión a Redis (
Errno::ECONNREFUSEDenproduction.log).
Reiniciados y activados manualmente los servicios:
sv restart sidekiq # Falló, falta el servicio
redis-cli ping # Confirmado que está en ejecución
bundle exec sidekiq # Los trabajos se procesaron pero no se enviaron correos electrónicos
Comprobado si los correos electrónicos estaban siendo bloqueados por 20i:
- No hubo rechazos ni intentos de entrega en los registros de correo de 20i.
- Si los correos electrónicos hubieran sido rechazados, debería haber una entrada en el registro, pero no apareció nada.
4. Conclusión: Reversión a 3.4.0.beta4-dev
Después de una extensa solución de problemas, he decidido borrar la instalación y reinstalar 3.4.0.beta4-dev, ya que mi instalación anterior funcionó sin problemas en esa versión.
Aunque no necesito ayuda directa, quería informar de estos problemas porque:
- El manejo de correo electrónico podría haber cambiado en la versión 3.5, impidiendo la transferencia SMTP.
- La falta del servicio Sidekiq y los errores de Redis sugieren problemas de procesamiento de trabajos en segundo plano en la versión 3.5.
- Dado que pude instalar 3.4.0.beta4-dev sin problemas, esto sugiere una posible regresión en la versión 3.5.
Espero que este informe sea útil para identificar posibles problemas en Discourse 3.5.0.beta2-dev.
Saludos cordiales,
Kirk

