Solucionar problemas de correo electrónico en una nueva instalación de Discourse

¿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í.

1 me gusta

¡Hola Ted! ¡Bienvenido a nuestra comunidad! :hugs:

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?

2 Me gusta

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.

1 me gusta

Eso es lo que recomendaría. Ese pequeño contratiempo probablemente añadió 30 minutos a mi instalación.

Mejor aún: Añadir validación de contraseña a la instalación para rechazar contraseñas que no cumplan los criterios.

2 Me gusta

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.

2 Me gusta

Sugerencia de mejora de la documentación:

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
6 Me gusta

¿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?

¿Cómo lo arreglo?

¿Destruiste e iniciaste el contenedor (o reconstruiste) después de cambiar el puerto?

1 me gusta

Reconstruí después de cambiar el puerto. ¿Debería destruir e iniciar el contenedor?

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! :sweat_smile:

2 Me gusta

el puerto 25 funcionaba de entrada hace un par de días, pero nunca de salida

Creo que usar el puerto 2525 para el correo saliente ayudará.

1 me gusta

¿Cómo configuro mi droplet de DigitalOcean y mi configuración de Discourse? Es la primera vez que lo hago.

Mira aquí :slight_smile:

1 me gusta

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.