Erreur SMTP 503 5.5.1 : authentification non activée

J’utilise un serveur SMTP Postfix local et je rencontre cette erreur :

503 5.5.1 Erreur : l’authentification n’est pas activée

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 # (optionnel, valeur par défaut true)
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
DISCOURSE_SMTP_AUTHENTICATION: “plain”

J’ai ajouté les deux dernières options en dernier recours, mais cela n’a eu aucun effet.

Le serveur SMTP fonctionne avec tous les outils de test que j’ai utilisés, comme openssl ou swaks, depuis l’intérieur du conteneur Docker.


root@resources-app:/# swaks --to resources@xxx.net --server mail.xxx.net:587 -tls
=== Tentative de connexion à mail.xxx.net:587...
=== Connecté à 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 Prêt pour le démarrage de TLS
=== TLS démarré avec le chiffrement TLSv1.3:TLS_AES_256_GCM_SHA384:256
=== Aucun certificat local défini pour TLS
=== DN du pair 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 des données avec <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/
 ~>
 ~> Ceci est un test d'envoi de courrier
 ~>
 ~>
 ~> .
<~  250 2.0.0 Ok : mis en file d'attente sous l'identifiant 1C4ED8AA
 ~> QUIT
<~  221 2.0.0 Au revoir
=== Connexion fermée avec l'hôte distant.
1 « J'aime »

L’erreur peut signifier que vous n’avez pas smtp_sasl_auth_enable = yes dans votre configuration Postfix. Quel est le résultat de postconf -n ? Contient-il la chaîne ci-dessus ? Sinon, veuillez décommenter ou modifier /etc/postfix/main.cf et nous faire un retour.

1 « J'aime »

J’ai bien :
smtp_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous noplaintext
smtpd_tls_security_level = encrypt
smtpd_use_tls = yes

1 « J'aime »

Je pense que les deux options ci-dessus sont contradictoires. Vous devez définir la méthode d’authentification correcte dans Discourse pour que cela fonctionne.

1 « J'aime »

C’est logique, je n’utilise pas SASL, j’ai donc activé ces options pour renforcer la sécurité.
Quelles méthodes sont disponibles ?
Par ailleurs, pourquoi SASL est-il obligatoire ? Je l’avais désactivé auparavant et le SMTP fonctionnait dans toutes les autres applications comme Nextcloud et Thunderbird.

SASL n’est nécessaire que pour envoyer des e-mails vers des serveurs distants, mais ce serveur ne fonctionne que localement.

Merci.

1 « J'aime »

Mon interprétation peut être erronée, mais je pense que SASL est nécessaire car le conteneur Docker est logiquement séparé de l’hôte sur lequel Postfix est en cours d’exécution.

Je dirais que vous pourriez essayer de réduire le durcissement de Postfix et voir ce qui fonctionne le mieux pour vous ?

Ce fichier devrait vous donner une idée de la façon dont ces paramètres sont configurés :

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

1 « J'aime »

Ce fichier par défaut ne contient pas toutes les valeurs possibles. Je me demandais s’il existe une option plus sécurisée. J’examinerai le code et les bibliothèques plus tard.

1 « J'aime »

Supprimer les options de sécurité ne résout toujours pas le problème.
Dois-je exécuter la reconstruction de l’application de lancement avant de relancer discourse-doctor ?

Merci.

1 « J'aime »

Remarquez le d

Discourse n’a vraiment besoin que des paramètres commençant par smtp et non par smtpd

1 « J'aime »

Je n’ai que
smtp_sasl_auth_enable = yes

aucune autre restriction…