Revisé recientemente los correos electrónicos: tarea y el código relacionado con el objetivo de probar cada una de las rutas de error y retocar el texto de error.
También descubrí que los efectos de establecer DISCOURSE_SMTP_ENABLE_STARTTLS=false son (en su mayoría) nulos. Establecer esto en realidad no deshabilitó STARTTLS y, de hecho, puede coexistir perfectamente con TLS en el momento de la conexión (DISCOURSE_SMTP_FORCE_TLS=true).
Sin embargo, antes de fusionar esto, creo que una advertencia para administradores en el panel cuando se establece DISCOURSE_SMTP_ENABLE_STARTTLS=false es adecuada. Me imagino que al menos un autoalojador lo ha configurado pero no lo necesita y en realidad depende de STARTTLS.
¡Eso suena a un buen trabajo! Una cosa que (creo que) he notado es que la tarea de rake en realidad no usa el mismo código que el envío real (como desde la página de prueba de correo electrónico de /admin/). Estoy bastante seguro de que he tenido un caso en el que funcionó en la UX pero no en la tarea de rake (¿o tal vez fue al revés?)
Mientras lo tienes fresco en mente, si pudieras asegurarte de que cuando realmente envía, lo hace utilizando el mismo código que usa Discourse, sería genial.
@supermathie, ¿vale la pena enviar un mensaje privado a todos los administradores de cada sitio que tenga esta variable configurada? Nuestro sistema actual de verificación de problemas lo hará, y no estoy seguro de que sea necesario aquí, dado que en la mayoría de los casos, esto tiene un efecto nil. Idealmente, querría mostrar esto solo en el panel de control sin notificar a los usuarios administradores, no estoy seguro de que nuestra estructura actual de verificación de problemas admita ese caso de uso.
Creo que sí: me parece extremadamente probable que, dada la confusión de muchos administradores con la configuración del correo electrónico, alguien tenga esta variable configurada cuando en realidad depende de starttls.
Probablemente nadie debería tenerla configurada.
Prefiero tener una advertencia espuria que romper silenciosamente la configuración de correo electrónico de alguien.
La alternativa es eliminar la verificación y neutralizar la variable para que no haga nada en absoluto.
Sería bueno que la advertencia no apareciera cuando el servidor SMTP saliente es localhost (es decir, coincide con el nombre de dominio de Discourse), ya que no se necesita TLS entre el contenedor Docker y el host, al ser la misma máquina.