Hola gente,
Quiero cambiar un foro de larga data de phpBB3 a Discourse. Logré configurar Docker y puedo acceder a la Configuración Inicial. Desafortunadamente, no se envía ningún correo electrónico, por lo que no puedo terminar la configuración.
Hice algo de depuración y no pude encontrar la razón, así que recurro a ustedes para pedir ayuda.
Mi configuración es la siguiente: configuré apache2 como proxy inverso para el docker, lo cual funciona. Mi servidor de correo es un docker de mailcow en la misma máquina. El servidor de correo se prueba exhaustivamente y funciona bien a diario a través de SMTP con STARTTLS en el puerto 587 y webmail.
La configuración en mi app.yml se ve así:
DISCOURSE_SMTP_ADDRESS: mail.example.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: discourse@example.com
DISCOURSE_SMTP_PASSWORD: "password"
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (opcional, por defecto true)
#DISCOURSE_SMTP_DOMAIN: mail.example.com
DISCOURSE_NOTIFICATION_EMAIL: discourse@example.com
cuando ejecuto ./discourse-doctor, obtengo:
==================== PRUEBA DE CORREO ====================
Para una prueba robusta, obtén una dirección de http://www.mail-tester.com/
O simplemente envíate un mensaje de prueba a ti mismo.
¿Dirección de correo electrónico para la prueba de correo? ('n' para omitir) [admin@example.com]:
Enviando correo a admin@example.com. . .
Probando el envío a admin@example.com usando mail.example.com:587, nombre de usuario: discourse@example.com con autenticación simple.
=======================================
ERROR
=======================================
ERROR INESPERADO
No se puede asignar la dirección solicitada - connect(2) para [ipv6 correcta]:587
=======================================
SOLUCIÓN
=======================================
Este no es un error común. ¡No existe una solución recomendada!
Por favor, informa el mensaje de error exacto arriba a https://meta.discourse.org/
(¡Y una solución, si encuentras alguna!)
Al no poder encontrar personas con mensajes de error similares en la web, recurrí a este hilo
Pude conectarme fácilmente al servidor de correo con telnet desde fuera del contenedor.
Lo que intenté dentro del contenedor:
getent hosts mail.example.com
proporcionó la dirección IPv6 correcta
Pero luego comenzaron a aparecer los errores:
openssl s_client -connect mail.example.com:587 -starttls smtp
140124593714496:error:0200206E:system library:connect:Connection timed out:../crypto/bio/b_sock2.c:110:
140124593714496:error:2008A067:BIO routines:BIO_connect:connect error:../crypto/bio/b_sock2.c:111:
connect:errno=110
openssl s_client -6 -connect "[ipv6 correcta]:587" -starttls smtp
139918557709632:error:02002063:system library:connect:Cannot assign requested address:../crypto/bio/b_sock2.c:110:
139918557709632:error:2008A067:BIO routines:BIO_connect:connect error:../crypto/bio/b_sock2.c:111:
connect:errno=99
openssl s_client -connect smtp.gmail.com:587 -starttls smtp
funciona perfectamente
Cuando intento el
openssl s_client -connect mail.example.com:587 -starttls smtp
desde fuera del contenedor, también funciona bien.
Mis registros de mailcow/postfix no muestran nada…
Estoy desconcertado. ¿Pueden ayudarme a ver dónde buscar a continuación?