¿Hay caracteres que deban evitarse en la contraseña SMTP? Si es así, la documentación podría mencionarlo.
Mi contraseña inicial no funcionó y resultó en un error. Cambié la contraseña (editando app.yml) y luego reconstruí la aplicación. Después de eso, pude recibir el correo electrónico “Confirma tu nueva cuenta”.
El carácter sospechoso en el correo electrónico original fue: ]
Para la nueva contraseña, dejé que Mailgun la generara por mí.
Es probable que los caracteres especiales como ] sea mejor evitarlos. Pero dado la respuesta de Jay arriba, pensaría que funcionaría, al igual que incluir % funciona.
¿Tenías comillas en tu contraseña, por casualidad? Creo que \" es una que es imposible de usar porque encierra la contraseña, a menos que edites app.yml para agregar un escape \\.
Si esa no es la respuesta, ¡entonces probablemente necesitemos actualizar este tema de documentación para indicar qué caracteres especiales evitar! ¿O actualizar el instalador para agregar una advertencia?
Sin mirar más de cerca, diría que cambies la contraseña para que no tenga caracteres extraños o edites app.yml a mano y encierres la contraseña entre comillas simples. discourse-setup es una herramienta bastante rudimentaria que no está diseñada para todas las situaciones.
Actualicé el OP para indicar explícitamente que la contraseña no puede incluir caracteres especiales. ¿Está esto más o menos correcto?
Trabajemos en incorporar cualquier otro consejo en la guía y eliminemos todas estas respuestas. Al revisar, no tengo claro muchos de ellos. Por ejemplo, la primera respuesta sugiere que fue necesaria una reconstrucción después de actualizar la configuración SMTP, lo que contradice la guía.
Al configurar SMTP con un proveedor externo (estaba usando SendGrid) no recibía correos electrónicos de registro. Ejecutar discourse-doctor identificó el error: Razón: 550 La dirección de remitente no coincide con una identidad de remitente verificada.
Si bien tenía el dominio de nivel superior (example.com) autenticado para enviar en SendGrid, aún no había autenticado el subdominio de Discourse (discourse.example.com) y, por lo tanto, SendGrid estaba rechazando las llamadas a la API.
Si bien esto solo me tomó unos 15 minutos descifrarlo, siento que sería útil incluir un comentario adicional en app.yml y el script de instalación que aclare esto para reducir la fricción para los nuevos usuarios que instalen Discourse en el futuro. También sería útil una referencia directa a la página de solución de problemas.
Algo como:
# La mayoría de los proveedores de SMTP requerirán un dominio autenticado o una dirección de correo electrónico autenticada
# para enviar correos electrónicos. Asegúrese de haber autenticado su dominio de envío
# (example.com), subdominio (discourse.example.com) y la dirección de correo electrónico de `notifications`
# con su proveedor de SMTP antes de registrar nuevos usuarios para garantizar la entregabilidad del correo electrónico.
#
# El comando `discourse-doctor` puede ayudar a probar su configuración de correo electrónico.
# Ver: https://meta.discourse.org/t/troubleshoot-email-on-a-new-discourse-install
¿Para el puerto de correo electrónico 587 no funciona para Mailgun pero el puerto 2525 funciona? Cambié el puerto a 2525 en app.yml pero ¿aún así no funciona?
Solo una advertencia de que a partir de marzo/abril de 2025, DigitalOcean ahora está bloqueando los puertos SMTP en todos los droplets por defecto. Pueden levantar la restricción si presentas un ticket de soporte, pero parece que se maneja caso por caso:
¡Esperemos que esto evite que otros se vuelvan locos preguntándose por qué sus correos electrónicos no se enviaban cuando todo parecía estar configurado correctamente!
No se recibe ningún correo electrónico durante la instalación. Sin embargo, las herramientas de prueba enviaron un correo electrónico con mi información SMTP.
El problema más común es que Discourse está utilizando una dirección de correo electrónico de notificación para la que su servidor smtp no enviará correos.