خطأ SMTP 503 5.5.1: المصادقة غير مفعلة

أنا أستخدم خادم SMTP محليًا عبر Postfix وأواجه هذه الرسالة:

503 5.5.1 خطأ: لم يتم تمكين المصادقة

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 # (اختياري، القيمة الافتراضية true)
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
DISCOURSE_SMTP_AUTHENTICATION: “plain”

أضفت الخيارين الأخيرين كحل أخير لكنهما لم يفعلا أي شيء.

خادم SMTP يعمل بشكل صحيح في جميع أدوات الاختبار التي استخدمتها، مثل openssl أو swaks من داخل حاوية Docker.


root@resources-app:/# swaks --to resources@xxx.net --server mail.xxx.net:587 -tls
=== Trying mail.xxx.net:587...
=== Connected to 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 Ready to start TLS
=== TLS started with cipher TLSv1.3:TLS_AES_256_GCM_SHA384:256
=== TLS no local certificate set
=== TLS peer DN="/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 End data with <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: queued as 1C4ED8AA
 ~> QUIT
<~  221 2.0.0 Bye
=== Connection closed with remote host.

قد يعني الخطأ أنك لا تملك smtp_sasl_auth_enable = yes في إعدادات postfix الخاصة بك. ما هو مخرجات أمر postconf -n؟ هل يحتوي على السلسلة المذكورة أعلاه؟ إذا لم يكن كذلك، يرجى إلغاء التعليق أو تعديل /etc/postfix/main.cf ثم الإبلاغ عن النتيجة.

لدي بالفعل
smtp_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous noplaintext
smtpd_tls_security_level = encrypt
smtpd_use_tls = yes

أعتقد أن الخيارين المذكورين أعلاه متناقضان. يجب عليك تعيين طريقة المصادقة الصحيحة في discourse لكي يعمل هذا بشكل صحيح.

هذا منطقي، أنا لا أستخدم SASL لذا قمت بتعيين هذه الخيارات لجعلها أكثر أمانًا.
ما هي الطرق المتاحة؟
أيضًا، لماذا يُعد SASL إلزاميًا؟ لقد كان معطلاً من قبل وعمل SMTP في جميع التطبيقات الأخرى مثل Nextcloud و Thunderbird.

يُستخدم SASL فقط لإرسال البريد الإلكتروني إلى خوادم بعيدة، لكن هذا الخادم يعمل محليًا فقط.

شكرًا لك

قد يكون فهمي خاطئًا هنا، لكنني أعتقد أن SASL مطلوب لأن حاوية Docker منفصلة منطقيًا عن المضيف الذي يعمل عليه Postfix.

أقترح ربما تجربة تخفيف تشديد إعدادات Postfix ومعرفة ما يناسبك بشكل أفضل؟

يجب أن يمنحك هذا الملف فكرة عن كيفية عمل هذه الإعدادات

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

ملف الافتراضيات هذا لا يحتوي على جميع القيم الممكنة، وتساءلت عما إذا كان هناك خيار أكثر أمانًا. سأراجع الكود والمكتبات لاحقًا.

إزالة خيارات الأمان لا تزال لا تحل المشكلة.
هل أحتاج إلى إعادة تشغيل إعادة بناء تطبيق launcher قبل تشغيل discourse-doctor مرة أخرى؟

شكرًا لك

لاحظ الحرف d

يجب أن يحتاج Discourse فعليًا فقط إلى المعاملات التي تبدأ بـ smtp وليس smtpd

أنا أملك فقط
smtp_sasl_auth_enable = yes

بدون أي قيود أخرى…