SMTP para grupo: error de número de versión incorrecto de ssl

Hola,

Estoy intentando implementar SMTP para grupos pero sigo recibiendo el siguiente mensaje de error.

image

Sin embargo, estoy usando el mismo servidor SMTP que usa la instancia y obtengo el mismo mensaje de error incluso si uso las mismas credenciales especificadas en mi archivo app.yml… No entiendo por qué se comporta de manera diferente: los correos electrónicos se envían perfectamente con las credenciales predeterminadas.

En los registros de mi servidor SMTP veo una conexión proveniente del servidor Discourse, luego tengo el siguiente mensaje:

smtp bad-input result=“500 5.5.1 Invalid command: Pipelining not supported”
smtp disconnected reason=“io-error: Connection reset by peer”

1 me gusta

Sospecho que Discourse está intentando conectarse al servidor SMTP con TLS en lugar de STARTTLS.

¿Puedes hacer una captura de pantalla de la configuración relevante?

Por favor, oculta los nombres de host y nombres de usuario específicos, pero deja la información del puerto y otras configuraciones.

1 me gusta

La configuración es bastante clásica: el puerto 587 habitual y starttls es verdadero (valor predeterminado)

configuración general:

para el grupo smtp:

He estado haciendo algunos tcpdump para ver qué está pasando y estoy notando 3 comportamientos diferentes. Para los dos primeros casos, es exactamente como se describe en este hilo: SMTP error: Must issue a STARTTLS command first - #6 by dbrgn.

  1. Uso normal

Los usuarios crean temas, responden, etc. otros usuarios reciben notificaciones por correo electrónico como se esperaba
Además, al usar el envío de prueba de correo electrónico a través de la interfaz de administración: no hay problema, se envía y se recibe bien

con tcpdump podemos ver que hay una secuencia correcta, conectándose a través de STARTTLS, etc.

  1. Discourse-doctor y rake

usando discourse-doctor o rake emails:test
El correo electrónico no se envía y tengo un error: 503 5.5.1 Invalid command: Command not supported

  1. grupo smtp

Al probar el smtp del grupo, veo un paquete de “fragmento de datos” que viene de Discourse inmediatamente después del apretón de manos tcp, al que el servidor smtp responde con 220 xxxxxxx ESMTP OpenSMTPD seguido de un mensaje 500 5.5.1 Invalid command: Pipelining not supported

1 me gusta

587 admitirá STARTTLS pero no TLS (en el momento de la conexión).

Deberíamos modificar las opciones aquí para permitir STARTTLS.

Si desmarca “Usar SSL para SMTP”, ¿funciona?

Lamentablemente, no, no funciona.
desmarcar “Usar SSL para SMTP” me da el siguiente mensaje de error:

image

Lo cual es extraño porque sé que mis credenciales son correctas.

Mirando con tcpdump, se comporta como lo expliqué para el caso de “Discourse-doctor y rake”.
Los intercambios entre Discourse y el servidor smtp se ven así:

< 220 [redacted] ESMTP ready
> EHLO [redacted]
< 250-[redacted]
< 250-PIPELINING
< 250-SIZE 36700160
< 250-ENHANCEDSTATUSCODES
< 250-8BITMIME
< 250 STARTTLS
> AUTH PLAIN [redacted]
< 500 5.5.1 Invalid command : commande not supported

Es como si Discourse no intentara iniciar STARTTLS; es exactamente como se describe en la publicación que enlacé en mi publicación anterior.

Ahora tengo el mismo problema al intentar configurar Discourse SMTP para que funcione con una dirección de correo electrónico de ImprovMX.

¿Alguna idea, @supermathie?