لقد قمت بتكوين ملف app.yml الخاص بي بحيث يكون البريد الإلكتروني شيئًا مثل
DISCOURSE_SMTP_ADDRESS: mail.mysecrect.tld
DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_USER_NAME: minegenix@mysecret.tld
DISCOURSE_SMTP_PASSWORD: <secret>
لقد قمت بتكوين ملف app.yml الخاص بي بحيث يكون البريد الإلكتروني شيئًا مثل
DISCOURSE_SMTP_ADDRESS: mail.mysecrect.tld
DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_USER_NAME: minegenix@mysecret.tld
DISCOURSE_SMTP_PASSWORD: <secret>
وُجد هذا أيضًا في السجلات:
فشل
تم تسليم البريد 3ff63fed-4142-4042-ab33-29493b32b3a6@beta2.mysecret.tld (30001.9 مللي ثانية)
استثناء المهمة: انتهت صلاحية التنفيذ
قد تحتاج إلى إضافة هذا إلى تطبيقك.yml
DISCOURSE_SMTP_ENABLE_START_TLS: false
حسناً، بالمناسبة أنا أستخدم Mailcow!
هل الخادم الذي يعمل هو discourse beta2.mysecret.tld - وليس mysecret.tld؟
جرب هذه الخيارات:
DISCOURSE_SMTP_ADDRESS: 172.17.0.1 # استخدم عنوان IP الداخلي هنا - قد لا يتم حل اسم نطاق خادم البريد بشكل صحيح
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: "YOUR-SMTP-USER-NAME"
DISCOURSE_SMTP_PASSWORD: "YOUR-SMTP-PASSWORD"
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (اختياري، الافتراضي صحيح)
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
DISCOURSE_SMTP_DOMAIN: mysecret.tld
mysecret.tld هو مجرد عنصر نائب يخفي عنوان المنتدى الحقيقي الخاص بي لأنني لا أرغب في الكشف عنه ![]()
هل ترسل رسائل بريد إلكتروني بعنوان مرسل مثل “…\@ beta2. mysecret.tld” - ولكن حساب mailcow الخاص بك هو لـ “…\@mysecret.tld”؟
لا، أنا أرسل رسائل البريد الإلكتروني من …@mysecret.tld والموقع يعمل على beta2.mysecret.tld
نعم، أنا أفعل ذلك حاليًا
بالمناسبة، هل أحتاج إلى تهيئة كل مرة بعد إعادة البناء؟
حسنًا، لقد أضفت الإعدادات، لم يساعد ذلك.
./launcher enter app
getent hosts:(لا يتم تثبيت dig أو nslookup أو ping وما إلى ذلك داخل الحاوية.)
getent hosts your.smtp.server
النتيجة عند النجاح:
# IPv4
123.123.123.123 your.smtp.server
# IPv6
2001:db8:0:0:0:ff00:42:8329 your.smtp.server
openssl:(لا يتم تثبيت telnet أو nc وما إلى ذلك داخل الحاوية.)
قم بتجربة بعض الإعدادات المختلفة حتى تنجح في الاتصال.
openssl s_client -connect your.smtp.server:465
openssl s_client -connect your.smtp.server:587 -starttls smtp
# IPv4
openssl s_client -connect 172.17.0.123:465
openssl s_client -connect 172.17.0.123:587 -starttls smtp
# IPv6
openssl s_client -6 -connect "[2001:db8:0:0:0:ff00:42:8329]:465"
openssl s_client -6 -connect "[2001:db8:0:0:0:ff00:42:8329]:587" -starttls smtp
انظر: كيفية التحقق من اتصال SMTP – الخطوة 3: التحقق من اتصال SMTP عبر TLS باستخدام Openssl
![]()
(لا يتم تثبيت ifconfig أو ip وما إلى ذلك داخل الحاوية.)
hostname -I
النتيجة مثل:
172.17.0.2
لا يمكنني الاتصال بـ openssl، وأحصل فقط على هذا: من getent
2606:4700:3032::ac43:d2f1 mail.secret.tdl
2606:4700:3033::6815:4db8 mail.secret.tld
(secret.tld يستبدل نطاقي الفعلي)
تخمين عشوائي: هل هذا عنوان IP عام؟ هل تم تكوين Mailcow الخاص بك للاستماع لاتصالات SMTP على عنوان IP العام هذا أم فقط على شبكة داخلية؟
داخل حاوية Discourse، يمكنك الحصول على عنوان IP للحاويات الخاصة بك عبر:
hostname -I
هل Mailcow الخاص بك موجود أيضًا على نفس الشبكة الداخلية (Docker)؟
172.17.0.2 هو الشيء الذي أحصل عليه من hostname -I
هل يمكنك الدخول إلى حاوية mailcow الخاصة بك والحصول على hostname -I؟ هل Mailcow و Discourse حاويتان منفصلتان على نفس المضيف؟
كيف يمكنني الدخول إلى حاوية mailcow؟ لا يوجد نص برمجي مشغل.
لا أعرف عن mailcow أيضًا. ربما من الأفضل التحقق مرة أخرى مع مجتمع mailcow: https://community.mailcow.email/
ما الذي يجب أن أستخدمه للحصول على أنظمة البريد، أو ما هو البرنامج الذي يمكنني إعداده على أوبونتو ليعمل كخدمة بريد في منتدياتي؟