Erro SMTP 503 5.5.1: autenticação não habilitada

Estou usando um SMTP local do Postfix e obtendo este erro:

503 5.5.1 Erro: autenticação não habilitada

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, padrão true)
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
DISCOURSE_SMTP_AUTHENTICATION: “plain”

Adicionei as últimas duas opções como último recurso, mas não surtiram efeito.

O servidor SMTP funciona em todas as ferramentas de teste que usei, como openssl ou swaks, de dentro do contêiner Docker.


root@resources-app:/# swaks --to resources@xxx.net --server mail.xxx.net:587 -tls
=== Tentando 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 Pronto para iniciar TLS
=== TLS iniciado com cifra TLSv1.3:TLS_AES_256_GCM_SHA384:256
=== Nenhum certificado local definido para TLS
=== DN do 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 Encerrar dados com <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/
 ~>
 ~> Este é um e-mail de teste
 ~>
 ~>
 ~> .
<~  250 2.0.0 Ok: enfileirado como 1C4ED8AA
 ~> QUIT
<~  221 2.0.0 Adeus
=== Conexão fechada com o host remoto.
1 curtida

O erro pode significar que você não tem smtp_sasl_auth_enable = yes no seu arquivo de configuração do Postfix. Qual é a saída de postconf -n? Ela contém a string acima? Se não, por favor, descomente ou edite /etc/postfix/main.cf e nos informe o resultado.

1 curtida

Eu realmente tenho
smtp_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous noplaintext
smtpd_tls_security_level = encrypt
smtpd_use_tls = yes

1 curtida

Acho que as duas opções acima são contraditórias. Você deve definir o método de autenticação correto no Discourse para que isso funcione.

1 curtida

faz sentido, eu não uso SASL, então configurei essas opções para torná-lo mais seguro.
Quais métodos estão disponíveis?
Além disso, por que o SASL é obrigatório? Eu o tinha desativado antes e o SMTP funcionava em todos os outros aplicativos, como Nextcloud e Thunderbird.

O SASL é necessário apenas para enviar e-mails para servidores remotos, mas este servidor funciona apenas localmente.

Obrigado.

1 curtida

Minha compreensão pode estar equivocada aqui, mas acredito que o SASL seja necessário porque o contêiner Docker é logicamente separado do host, onde o Postfix está em execução.

Eu diria que talvez valha a pena tentar reduzir o nível de endurecimento do Postfix e ver o que funciona melhor para você?

Este arquivo deve dar uma ideia sobre como essas configurações funcionam:

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

1 curtida

Esse arquivo de padrões não contém todos os valores possíveis. Fiquei me perguntando se há uma opção mais segura. Vou examinar o código e as bibliotecas mais tarde.

1 curtida

Remover as opções de segurança ainda não resolveu.
Preciso executar o rebuild do aplicativo launcher antes de rodar o discourse-doctor novamente?

Obrigado

1 curtida

Observe o d

O Discourse realmente só precisa dos parâmetros que começam com smtp e não com smtpd

1 curtida

Eu só tenho
smtp_sasl_auth_enable = yes

sem outras restrições…