Error SMTP 503 5.5.1: autenticación no habilitada

Estoy utilizando un SMTP local de Postfix y obtengo este error:

503 5.5.1 Error: authentication not enabled

DISCOURSE_SMTP_ADDRESS: mail.xxx.net
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: resources@xxx.net
DISCOURSE_SMTP_PASSWORD: password123?
DISCOURSE_SMTP_ENABLE_START_TLS: true # (opcional, por defecto true)
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
DISCOURSE_SMTP_AUTHENTICATION: “plain”

Agregué las últimas 2 opciones como último recurso, pero no tuvo ningún efecto.

El servidor SMTP funciona en todas las herramientas de prueba que utilicé, como openssl o swaks desde dentro del contenedor Docker.


root@resources-app:/# swaks --to resources@xxx.net --server mail.xxx.net:587 -tls
=== Intentando conectar con mail.xxx.net:587...
=== Conectado a mail.xxx.net.
<-  220 mail.xxx.net ESMTP Postfix (Ubuntu)
 -> EHLO resources-app
<-  250-mail.xxx.net
<-  250-PIPELINING
<-  250-SIZE 10240000
<-  250-VRFY
<-  250-ETRN
<-  250-STARTTLS
<-  250-ENHANCEDSTATUSCODES
<-  250-8BITMIME
<-  250-DSN
<-  250-SMTPUTF8
<-  250 CHUNKING
 -> STARTTLS
<-  220 2.0.0 Listo para iniciar TLS
=== TLS iniciado con cifrado TLSv1.3:TLS_AES_256_GCM_SHA384:256
=== No se estableció certificado local para TLS
=== DN del par TLS "/CN=*.xxx.net"
 ~> EHLO resources-app
<~  250-mail.xxx.net
<~  250-PIPELINING
<~  250-SIZE 10240000
<~  250-VRFY
<~  250-ETRN
<~  250-ENHANCEDSTATUSCODES
<~  250-8BITMIME
<~  250-DSN
<~  250-SMTPUTF8
<~  250 CHUNKING
 ~> MAIL FROM:<root@resources-app>
<~  250 2.1.0 Ok
 ~> RCPT TO:<resources@xxx.net>
<~  250 2.1.5 Ok
 ~> DATA
<~  354 Fin de los datos con <CR><LF>.<CR><LF>
 ~> Date: Tue, 03 Aug 2021 11:04:12 +0000
 ~> To: resources@xxx.net
 ~> From: root@resources-app
 ~> Subject: test Tue, 03 Aug 2021 11:04:12 +0000
 ~> Message-Id: <20210803110412.593268@resources-app>
 ~> X-Mailer: swaks v20181104.0 jetmore.org/john/code/swaks/
 ~>
 ~> This is a test mailing
 ~>
 ~>
 ~> .
<~  250 2.0.0 Ok: en cola como 1C4ED8AA
 ~> QUIT
<~  221 2.0.0 Adiós
=== Conexión cerrada con el host remoto.
1 me gusta

El error podría significar que no tienes smtp_sasl_auth_enable = yes en tu configuración de Postfix. ¿Cuál es la salida de postconf -n? ¿Contiene la cadena anterior? Si no es así, por favor descomenta o edita /etc/postfix/main.cf y repórtanos de nuevo.

1 me gusta

Sí, tengo:
smtp_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous noplaintext
smtpd_tls_security_level = encrypt
smtpd_use_tls = yes

1 me gusta

Creo que las dos opciones anteriores son contradictorias. Debes configurar el método de autenticación correcto en Discourse para que esto funcione.

1 me gusta

tiene sentido, no uso SASL, así que configuré esas opciones para hacerlo más seguro.
¿Qué métodos están disponibles?
También, ¿por qué es obligatorio SASL? Lo tenía desactivado antes y SMTP funcionaba en todas las demás aplicaciones, como Nextcloud y Thunderbird.

SASL solo es necesario para enviar correos a servidores remotos, pero este servidor solo funciona localmente.

Gracias.

1 me gusta

Mi comprensión puede ser errónea aquí, pero creo que se necesita SASL porque el contenedor de Docker está lógicamente separado del host, donde se ejecuta Postfix.

Diría que quizás intentes reducir el endurecimiento de Postfix y veas qué funciona mejor para ti.

Este archivo debería darte una idea de cómo funcionan esas configuraciones:

discourse/config/discourse_defaults.conf at main · discourse/discourse · GitHub

1 me gusta

Ese archivo de configuración predeterminada no incluye todos los valores posibles; me preguntaba si existe una opción más segura. Revisaré el código y las bibliotecas más adelante.

1 me gusta

Eliminar las opciones de seguridad sigue sin solucionarlo.
¿Necesito ejecutar la reconstrucción de la aplicación del lanzador antes de ejecutar discourse-doctor nuevamente?

gracias

1 me gusta

Fíjate en la d.

Discourse realmente solo necesita los parámetros que comienzan con smtp y no smtpd.

1 me gusta

Solo tengo
smtp_sasl_auth_enable = yes

sin otras restricciones…