Errore SMTP 503 5.5.1: autenticazione non abilitata

Sto utilizzando un SMTP Postfix locale e ricevo questo errore:

503 5.5.1 Errore: autenticazione non abilitata

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 # (opzionale, valore predefinito true)
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
DISCOURSE_SMTP_AUTHENTICATION: “plain”

Ho aggiunto le ultime due opzioni come ultima risorsa, ma non hanno avuto alcun effetto.

Il server SMTP funziona con tutti gli strumenti di test che ho utilizzato, come openssl o swaks all’interno del contenitore Docker.


root@resources-app:/# swaks --to resources@xxx.net --server mail.xxx.net:587 -tls
=== Tentativo di connessione a mail.xxx.net:587...
=== Connesso 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 Pronto per avviare TLS
=== TLS avviato con cifratura TLSv1.3:TLS_AES_256_GCM_SHA384:256
=== Nessun certificato locale impostato per TLS
=== DN del peer 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 Fine dei dati 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: in coda come 1C4ED8AA
 ~> QUIT
<~  221 2.0.0 Bye
=== Connessione chiusa con l'host remoto.

L’errore potrebbe significare che non hai impostato smtp_sasl_auth_enable = yes nella configurazione di postfix. Qual è l’output di postconf -n? Contiene la stringa sopra indicata? In caso contrario, sblocca o modifica /etc/postfix/main.cf e riportaci l’esito.

Ho impostato:
smtp_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous noplaintext
smtpd_tls_security_level = encrypt
smtpd_use_tls = yes

Penso che le due opzioni sopra siano contraddittorie. Dovresti impostare il metodo di autenticazione corretto in Discourse affinché ciò funzioni.

Ha senso, non uso SASL, quindi ho impostato quelle opzioni per renderlo più sicuro.
Quali metodi sono disponibili?
Inoltre, perché SASL è obbligatorio? Lo avevo disabilitato in precedenza e SMTP funzionava in tutte le altre applicazioni come Nextcloud e Thunderbird.

SASL è necessario solo per inviare email a server remoti, ma questo server funziona solo in locale.

Grazie.

La mia comprensione potrebbe essere errata qui, ma penso che SASL sia necessario perché il contenitore Docker è logicamente separato dall’host su cui è in esecuzione Postfix.

Direi che forse potresti provare a ridurre l’hardening di Postfix e vedere cosa funziona meglio per te?

Questo file dovrebbe darti un’idea di come sono impostati quei parametri

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

Quel file di default non contiene tutti i valori possibili; mi chiedevo se ci fosse un’opzione più sicura. Esaminerò il codice e le librerie più tardi.

rimuovere le opzioni di sicurezza non risolve ancora il problema.
Devo eseguire la ricompilazione dell’app di avvio prima di eseguire nuovamente discourse-doctor?

grazie

Notare la d

Discourse dovrebbe aver bisogno solo dei parametri che iniziano con smtp e non con smtpd

Ho solo
smtp_sasl_auth_enable = yes

nessun’altra restrizione…