لا أتلقى رسائل البريد الإلكتروني عند إنشاء حساب وأتساءل عما إذا كنت قد ارتكبت أي خطأ.. ما الفرق بين عنوان SMTP ونطاق SMTP؟
عنوان SMTP: user@example.com
نطاق SMTP: example.com
هل تعتقد أنه يمكنك مساعدتي؟ لقد استخدمت أداة SMTP عبر الإنترنت وكل شيء يعمل بشكل جيد، ولكن يبدو أن Discourse لا يرسل رسائل البريد الإلكتروني عند التسجيل..
أهلاً بك @ethhaqn ![]()
هل اطلعت على دليل استكشاف الأخطاء وإصلاحها؟
لقد استخدمت telnet mail.theapi.tech 25 وأعاد 220 myhelper.tech ESMTP Postfix، وهو نطاق قديم استخدمته لاختبار هذا النظام. هل تعتقد أنه يؤثر على إرسال البريد الإلكتروني؟ إذا كان الأمر كذلك، فأين يمكنني تغيير النطاق؟ مرة أخرى، إنه نطاق قديم ولكني لست متأكدًا من أين يمكنني إدخال هذا النطاق ليتم إعادته عند تشغيل telnet mail.theapi.tech 25.
قد يكون من الجدير بالذكر أيضًا أن ./discourse-doctor أخبرني بوجود خطأ غير شائع ولم يتمكن من حل مشكلتي.
أيضًا، لم أستخدم ./discourse-setup لإعداد Discourse لأن المنفذ 80 كان مشغولاً. بدلاً من ذلك، قمت بتحرير containers/app.yml يدويًا وتشغيل ./launcher rebuild app.
لقد استخدمت tail shared/standalone/log/rails/production.log وتقول السجلات:
Processing by FinishInstallationController#confirm_email as HTML
Rendered finish_installation/confirm_email.html.erb within layouts/finish_installation (Duration: 0.7ms | Allocations: 255)
Rendered layout layouts/finish_installation.html.erb (Duration: 6.7ms | Allocations: 2103)
Completed 200 OK in 8ms (Views: 7.4ms | ActiveRecord: 0.0ms | Allocations: 2735)
start
Rendered layouts/email_template.html.erb (Duration: 0.1ms | Allocations: 34)
Delivered mail 0e5b023a-90f9-4c23-ae2b-488b4d70d907@theapi.tech (39.6ms)
Job exception: hostname "mail.theapi.tech" does not match the server certificate
fail
openssl s_client -connect mail.theapi.tech:25 -starttls smtp -showcerts
خطأ في التحقق: شهادة موقعة ذاتيًا
لذلك تحتاج إلى تعيين DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none في ملف app.yml الخاص بك.
ألن يجعل ذلك عدم الحاجة إلى التحقق من بريدك الإلكتروني؟
لا. سيؤدي ذلك إلى تخطي Discourse للتحقق الذي يفشل حاليًا.
حسنًا، ها قد تم. كيف يمكنني الحصول على شهادة SSL؟ هذا في ملف app.yml الخاص بي بالمناسبة:

أعتقد أن الجزء المتعلق بإعداد خادم البريد الخاص بك خارج نطاق هذا المنتدى.
لا، ليس على خادم البريد الخاص بي. مثل، على موقع Discourse الفعلي الخاص بي.
يرجى اتباع Run other websites on the same machine as Discourse وإذا فشل ذلك، افتح موضوعًا جديدًا.
مرحباً، لقد قمت بترقية نسختي المحلية من Discourse إلى الإصدار 2.9.0.beta4، وحتى بعد إضافة DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: “none” في ملف containers/app.yml الخاص بي (وإعادة بناء التطبيق)، ما زلت أواجه مثل هذه الأخطاء:
Rendered layouts/email_template.html.erb (Duration: 0.2ms | Allocations: 34)
Delivered mail 31c5b9eb-1077-4155-b040-314c4a8566cb@taverne.colorfulminis.com (11.3ms)
Job exception: SSL_connect returned=1 errno=0 state=error: certificate verify failed (self signed certificate)
من الواضح أن هذا يجعل نسخة Discourse الخاصة بي غير قادرة على إرسال رسائل البريد الإلكتروني بعد الآن.
هل هناك أي مشكلة معروفة حول هذا؟
للعلم: أقوم بتشغيل نسخة ما قبل الإنتاج مع الإصدار 2.8.0.beta9 ونفس الإعداد بالضبط، ويتم إرسال رسائل البريد الإلكتروني بسلاسة.
شكراً لمساعدتكم.
مرحباً أليكسيس،
لدي نفس المشكلة بالضبط على جهاز افتراضي (Ubuntu 22.04 مع مثيل Discourse المستند إلى Docker 2.9.0.beta4). حتى مع DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none في container/app.yml (و $DISCOURSE_SMTP_OPENSSL_VERIFY_MODE في بيئة Docker مضبوطة على none)، يستمر ظهور الخطأ certificate verify failed (self signed certificate).
تعديل: للعلم، الإصدار المستقر (2.8.3) يعمل كما هو متوقع.
للتسجيل: تم تمكين DISCOURSE_SMTP_ENABLE_START_TLS: true وحل المشكلة من جانبي.
لكل من يبحث عن إجابات دون جدوى - ويصل إلى هذا الموضوع:
لقد استمتعت للتو باكتشاف أن مزود استضافة الخادم الافتراضي الخاص بي يتطلب مني تمكين منافذ البريد الصادرة أولاً، على صندوق تم تثبيته حديثًا. كنت أعرف هذا، لكنني تذكرته فقط بعد نوم ليلة كاملة ![]()
استضافة سعيدة! ![]()