Error SMTP: primero se debe emitir un comando STARTTLS

Estoy experimentando un problema similar. Ayer depuré el envío de correos electrónicos en una nueva instancia de Discourse durante unas tres horas, sin éxito. Estoy intentando enviar correos electrónicos a través de Fastmail con STARTTLS en el puerto 587. Otros servicios funcionan con las mismas credenciales.

No obtengo la respuesta de error “Must issue a STARTTLS command first” con estas configuraciones:

DISCOURSE_SMTP_ADDRESS: 'smtp.fastmail.com'
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: 'myuser@fastmail.fm'
DISCOURSE_SMTP_PASSWORD: 'mypass'
DISCOURSE_SMTP_ENABLE_START_TLS: true

…seguido de un ./launcher rebuild app, cuando ejecuto ./discourse-doctor y envío un correo electrónico, obtengo un error 500 5.5.1 Invalid command en respuesta.

Hoy comencé a rastrear la comunicación con tcpdump y noté que Discourse en realidad no parece usar STARTTLS. Esto es lo que sucede cuando envío un correo electrónico de recuperación de Grafana:

< 220 smtp.fastmail.com ESMTP ready
> EHLO 9b5ba1569f77
< 250-smtp.fastmail.com
< 250-PIPELINING
< 250-SIZE 71000000
< 250-ENHANCEDSTATUSCODES
< 250-8BITMIME
< 250 STARTTLS
> STARTTLS
< ...[encrypted]

Pero con Discourse, esto sucede:

< 220 smtp.fastmail.com ESMTP ready
> EHLO localhost
< 250-smtp.fastmail.com
< 250-PIPELINING
< 250-SIZE 71000000
< 250-ENHANCEDSTATUSCODES
< 250-8BITMIME
< 250 STARTTLS
> AUTH PLAIN [redacted]
< 500 5.5.1 Invalid command

Entonces, ¿parece que Discourse está enviando mis credenciales a través de Internet en texto plano, a pesar de que STARTTLS está habilitado en la configuración? ¿Es esto un error?

También noté que cuando ejecuto ./discourse-doctor, el resumen “YML SETTINGS” en la parte superior enumera los siguientes elementos:

==================== YML SETTINGS ====================
DISCOURSE_HOSTNAME=forum.[redacted]
SMTP_ADDRESS=smtp.fastmail.com
DEVELOPER_EMAILS=sysadmin@[redacted]
SMTP_PASSWORD=[redacted]
SMTP_PORT=587
SMTP_USER_NAME=[redacted]@fastmail.fm
LETSENCRYPT_ACCOUNT_EMAIL=

Sin embargo, no hay mención de DISCOURSE_SMTP_ENABLE_START_TLS, a pesar de que está configurado en app.yml. No estoy seguro de si este problema está relacionado.

2 Me gusta