Tengo cosas que hacer funcionar, no de la manera que quería inicialmente, pero puede que haya algo que haya leído mal. En resumen, Mailjet funcionó al primer intento (con Mailjet). Gracias por la ayuda y/o por un buen foro con soluciones.
Resumen
VERSIÓN LARGA
Cómo intenté que funcionara (para que veas cómo alguien con muy poca memoria de Linux resuelve estas cosas). Así que todos los pasos aburridos están incluidos… lo que resulta en algunas pistas para desarrolladores y un posible error.
Tomé una instantánea de Digital Ocean (tuve algunas malas experiencias con las actualizaciones de Discourse antes
→ la actualización a la más reciente fue de maravilla esta vez, ya que ahora tengo 50G en lugar de 30G, ¡felicitaciones de todos modos!)
Dado que lfchosting se convirtió en hostpapa el otoño pasado, decidí usar hostpapa ya que lo pago, después de todo.
Miniminihistoria irrelevante sobre lfchosting migrando a hostpapa. Uno de mis sitios de estadísticas que recibe tráfico externo dejó de funcionar. El soporte no tenía ni idea durante 3 meses. ENTONCES alguien dijo que iban a deshabilitar algunas reglas de firewall posibles → esa solución no funcionó… pero eso me dio una pista → habían instalado ModSecurity después de la migración y una vez que saqué esa basura de mi sistema, todo mi tráfico fluyó bien de nuevo. Solo digo, migras clientes antiguos, usas un nuevo firewall/lo que sea, el cliente tiene problemas de tráfico… ¿y nadie en soporte tiene ninguna bombilla de actividad? ¡Vaya!
Intenté con Outlook para comprobar si las credenciales estaban bien, pero no pude hacerlo funcionar, ¡eso NO dice mucho! De hecho, primero probé Pegasus Mail, pero eso dice aún menos hoy en día, ¡aunque los registros son más fáciles de leer! :D.
telnet mail.papamail.net 465 al menos respondió algo (no me llames idiota aquí)
Me rasco la cabeza, 465 indicaría TLS/SSL y no starttls… gnnngh.
Aaargh, simplemente probaré cambiando app.yml y leyendo los registros…
=> Edición de app.yml => El enigma de la contraseña smtp
¿Comillas dobles alrededor o no? Tenía comillas dobles en el correo anterior que funcionaba vs gmail, pero parece que debería ser sin comillas en tantas publicaciones. Hmm, ¿es discourse lo suficientemente inteligente como para eliminar las comillas innecesarias? Alguien que realmente tenga “password” como contraseña sería bastante improbable :D.
Empiezo a preguntarme si gmail realmente elimina las comillas dobles de una contraseña por defecto y por eso funcionó con gmail antes?
Después de reconstruir la aplicación, enviar un correo de prueba no funciona. Por qué demonios el registro de eso no se puede mostrar directamente en la página de prueba está más allá de mi comprensión (pista, pista :), bueno, ¿quizás un riesgo de seguridad?).
más shared/standalone/log/rails/production.log
No mostró mucho o demasiada basura para encontrar lo que necesitaba (ver pista, pista arriba).
./discourse-doctor
No sirvió de mucho.
./discourse-setup
Tarda una eternidad (un poco como reconstruir la aplicación con launcher), me pregunto cuál sería la forma más rápida de cambiar app.yml y probar el correo saliente?
¿BUG en discourse-setup?: tener una contraseña como gjwha9T78&vv produjo esta línea rota en app.yml (!):
DISCOURSE_SMTP_PASSWORD: "gjwha9T78 DISCOURSE_SMTP_PASSWORD: gjwha9T78&vv"
Aparentemente, las comillas dobles son necesarias después de todo. Pero que discourse-setup escriba “basura” en app.yml si la contraseña contiene un “&” es un poco malo.
Mientras espero la enésima reconstrucción de la aplicación… configuro mailjet por si acaso…
Una reconstrucción más usando mailjet y el envío de correos funciona de inmediato.
Conclusión después de 2h = mailjet funciona. Wohoo… PERO…
Debe haber una forma más rápida de probar el envío de correos desde discourse que editar app.yml + reconstruir?
Dado que asumo que hice muchas cosas de la manera larga y ardua, estoy seguro de que alguien señalará mejores maneras. Especialmente porque la ayuda aquí siempre es proactiva, no al estilo “tú, imbécil novato” :D.
Estoy empeñado en que hostpapa funcione ahora también, después de todo, eso es una de las cosas que realmente pago. Por supuesto, publicaré aquí si mi suposición es correcta, pero es demasiado tarde esta noche.
Las mejores referencias utilizadas para resolver esto:
Útil (bueno, para entender las cosas de los puertos 25/465/587):
Troubleshoot email on a new Discourse install
También útil una vez que esté listo para probar cualquier otro proveedor de correo:
https://github.com/discourse/discourse/blob/main/docs/INSTALL-email.md