تثبيت Discourse/Docker جديد لن يرسل رسائل بريد إلكتروني

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

إعداداتي كالتالي، لقد قمت بإعداد Apache2 كـ reverse proxy للحاوية (Docker)، وهذا يعمل. خادم البريد الخاص بي هو Mailcow Docker على نفس الجهاز. تم اختبار خادم البريد بشكل شامل ويعمل بشكل جيد يوميًا عبر SMTP مع STARTTLS على المنفذ 587 والبريد الإلكتروني عبر الويب.

التكوين في ملف app.yml الخاص بي يبدو كالتالي:

  DISCOURSE_SMTP_ADDRESS: mail.example.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: discourse@example.com
  DISCOURSE_SMTP_PASSWORD: "password"
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (اختياري، الافتراضي هو true)
  #DISCOURSE_SMTP_DOMAIN: mail.example.com
  DISCOURSE_NOTIFICATION_EMAIL: discourse@example.com

عندما أقوم بتشغيل ./discourse-doctor، أحصل على:

==================== اختبار البريد ====================
لإجراء اختبار قوي، احصل على عنوان من http://www.mail-tester.com/
أو فقط أرسل رسالة اختبار لنفسك.
عنوان البريد الإلكتروني لاختبار البريد؟ ('n' للتخطي) [admin@example.com]:
إرسال بريد إلى admin@example.com. . .
اختبار الإرسال إلى admin@example.com باستخدام mail.example.com:587، اسم المستخدم: discourse@example.com مع مصادقة عادية.
======================================= خطأ
=======================================
خطأ غير متوقع

لا يمكن تعيين العنوان المطلوب - الاتصال (2) بـ [ipv6 الصحيح]:587

======================================= الحل
=======================================
هذا ليس خطأ شائعًا. لا يوجد حل موصى به!

يرجى الإبلاغ عن رسالة الخطأ الدقيقة أعلاه إلى https://meta.discourse.org/
(وحل، إذا وجدت واحدًا!)

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

ما جربته داخل الحاوية:

getent hosts mail.example.com

قدم عنوان IPv6 الصحيح
ولكن بعد ذلك بدأت الأخطاء في الظهور:

openssl s_client -connect mail.example.com:587 -starttls smtp
140124593714496:error:0200206E:system library:connect:Connection timed out:../crypto/bio/b_sock2.c:110:
140124593714496:error:2008A067:BIO routines:BIO_connect:connect error:../crypto/bio/b_sock2.c:111:
connect:errno=110
openssl s_client -6 -connect "[ipv6 الصحيح]:587" -starttls smtp
139918557709632:error:02002063:system library:connect:Cannot assign requested address:../crypto/bio/b_sock2.c:110:
139918557709632:error:2008A067:BIO routines:BIO_connect:connect error:../crypto/bio/b_sock2.c:111:
connect:errno=99
openssl s_client -connect smtp.gmail.com:587 -starttls smtp

يعمل بشكل جيد
عندما أجرب

openssl s_client -connect mail.example.com:587 -starttls smtp

من خارج الحاوية، يعمل أيضًا بشكل جيد.
سجلات mailcow/postfix الخاصة بي لا تظهر شيئًا…
لقد نفدت حيلتي. هل يمكنك مساعدتي في معرفة أين يجب أن أبحث بعد ذلك؟

إعجاب واحد (1)

راجع استكشاف أخطاء البريد الإلكتروني وإصلاحها في تثبيت Discourse جديد.

المشكلة على الأرجح هي أن عنوان البريد الإلكتروني الخاص بالإشعارات الخاص بك ليس عنوانًا قمت بتكوين خادم العلامة الخاص بك للإرسال منه.

لكن هذا لا يفسر أخطاء “انتهت مهلة الاتصال”. يبدو هذا وكأنه مشكلة في شبكة Docker.

إعجاب واحد (1)

شكرا لردك. لقد حاولت استخدام نفس العنوان في كلا الحقلين، لم يتغير شيء، نفس الخطأ.
باتباع خيط استكشاف الأخطاء وإصلاحها:

ماذا تقول سجلات Discourse؟

Job exception: Cannot assign requested address - connect(2) for [*correct IPv6*]:587

ماذا تقول سجلات مزود البريد الإلكتروني الخاص بك؟

لا تظهر أي إدخالات سجل تتعلق بالرسائل المرسلة من Discourse.

ثم جربت هذه الطريقة https://www.saotn.org/test-smtp-authentication-starttls/ لمعرفة ما إذا كان بإمكاني المصادقة عبر openssl، وهي تعمل بشكل جيد من الخادم، ولكن ليس من داخل الحاوية، فهي تنتج الخطأ الذي وصفته في المنشور الأول.

كيف يمكنني معرفة ما الذي يمنع الاتصال هنا؟

إعجاب واحد (1)

كان الأمر سهلاً للغاية.
كان عليّ فقط تفعيل IPv6 في شبكة Docker الخاصة بي، الخطوات الثلاث الأولى فقط في هذا البرنامج التعليمي وقد نجح الأمر.

3 إعجابات

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.