مرحبًا بكم. منذ بضعة أيام، وأنا أعاني من إعداد منتدى Discourse، وكان كل هذا الجهد متعلقًا بالبريد الإلكتروني. تمكنت من تشغيل المنتدى بتجاوز عملية التسجيل عبر البريد الإلكتروني، لكنني ما زلت بحاجة إلى أن يكون البريد الإلكتروني فعالًا حتى يتمكن الأشخاص من التسجيل أيضًا. لقد حصلت على نفس النتائج مرارًا وتكرارًا، وقد جربت العديد من الطرق المختلفة، لكن لا شيء منها نجح. في كل مرة، يحدث أحد الأمرين التاليين:
تظهر رسالة خطأ في اختبار البريد الإلكتروني تقول: “اسم المضيف … لا يطابق شهادة الخادم”
تظهر رسالة خطأ في اختبار البريد الإلكتروني تقول “502”، وفي Sidekiq، تكون الرسالة: Jobs::HandledExceptionWrapper: Wrapped Net::ReadTimeout: Net::ReadTimeout with #<TCPSocket:(closed)>
إذن، متى يظهر كل منهما؟ حسنًا، يظهر الرقم الأول في كل سيناريو ممكن. أما الرقم الثاني، فقد ظهر فقط عندما استخدمت المنفذ 465. كان يستغرق بعض الوقت لـ “إرسال بريد إلكتروني تجريبي”، ثم تظهر تلك الرسالة. للتو، قمت بتعطيل SSL، لذا أصبح المنفذ 587 قابلاً للاستخدام، لكن بدلاً من ظهور الخطأ الأول أو الثاني، يتوقف النظام عند “جاري إرسال بريد إلكتروني تجريبي”.
لا أعرف ماذا أفعل في هذه المرحلة، وقد كنت أتحارب مع هذه المشكلة لعدة أيام ولم أجد بعد حلاً. أي مساعدة ستكون موضع تقدير كبير. شكرًا لكم على وقتكم ومساعدتكم.
تحديث: باستخدام أمر curl --ssl-reqd، قمت باختبار المنافذ 465 و587 و25 و2525. كانت النتائج كالتالي:
25: لم يعمل (خطأ Curl 35، رقم الإصدار خاطئ)
465: عمل كما هو متوقع مع استجابة سريعة للبريد الإلكتروني
587: لم يعمل (خطأ Curl 35، رقم الإصدار خاطئ)
2525: لم يفشل، لكن لم يتم إرسال أي بريد إلكتروني (استمر الوقت في الزيادة دون توقف أثناء عدم إرسال أي بريد)
إذا كان ذلك يساعد، فإن الإعدادات الحالية الخاصة بي (مع خطأ 502) هي:
لا أعتقد ذلك. البريد الإلكتروني مُقدَّم من VoltHosting إذا كان ذلك يُساعد.
أيضًا، مُلقَّم Discourse مُثبَّت تحت var/discourse، وهو يعمل (يمكنني الدخول إلى الموقع وتصفح المحتوى بحساب مسؤول أنشأته (بتجاوز البريد الإلكتروني)، وهذا هو أيضًا ما أستخدمه لاختبار البريد الإلكتروني (بمحاولة إرسال رسائل تجريبية من خلال “البريد الإلكتروني > الإعدادات” و"البريد الإلكتروني > ملخص المعاينة"، حيث تظهر لي هذه الأخطاء. شكرًا لك على المساعدة رغم ذلك.
جرب استخدام أحد مقدمي الخدمات الموصى بهم، فهذا سيساعدك بسرعة في تحديد ما إذا كانت المشكلة تكمن في تثبيت Discourse لديك أم في خادم البريد الذي تحاول الاتصال به.
السبب في وجود قائمة مقدمي الخدمات الموصى بهم هو أنها مُختبرة للتأكد من عملها مع Discourse. يمكن أن يكون بروتوكول SMTP مرهقًا حتى في أحسن الأحوال، وهناك افتراض عام بأنك إذا لم تستخدم الإعداد الموصى به، فإنك تتحمل العبء التقني الإضافي الذي ينشأ عنه.
شكرًا لك على الرد. لا أعتقد أنه يمكنني استخدام أحد مقدمي الخدمات الموصى بهم، حيث أن الشخص الذي صمم الخطة يمتلك أيضًا عدة حسابات بريد إلكتروني مع نفس الشركة، وهذا سيؤدي إلى تكاليف إضافية فوق تكلفة الخادم الافتراضي الخاص (VPS) نفسه، ولا أعتقد أنه من الممكن القيام بذلك حاليًا. هل توجد طريقة أخرى يمكنني من خلالها اختبار خدمات البريد الإلكتروني بكفاءة أكبر دون الحاجة إلى إعادة بناء المنتدى في كل مرة؟ شكرًا لك على مساعدتك.
لا تحتاج إلى إعادة البناء لتغيير إعدادات البريد الإلكتروني. يمكنك تنفيذ الأمر التالي:
./launcher destroy app
./launcher start app
بعد تعديل إعدادات البريد الإلكتروني، سيتم اعتماد الإعدادات الجديدة. وينطبق الشيء نفسه على جميع متغيرات البيئة.
ينصح بالتواصل مع VoltHosting للحصول على دعم فيما يتعلق بنظام البريد الإلكتروني الخاص بهم. إذا لم يطابق شهادة خادمهم اسم المضيف، فإن هذه ليست مشكلة في Discourse، بل هي شيء يحتاجون إلى إصلاحه. قد يكون هناك اسم مضيف بديل صالح يمكنك استخدامه.
في كلتا الحالتين، أوصي باستخدام إحدى الفترات التجريبية المجانية المعروضة في الصفحة المرتبطة أعلاه لإثبات أن Discourse نفسه يتعامل مع البريد الإلكتروني بشكل صحيح. يمكنك دائمًا العودة إلى SMTP الخاص بـ VoltHosting بعد التأكد من أن Discourse يعمل بشكل صحيح.
شكرًا لك. سأستخدم بالتأكيد هذه المعلومة في المستقبل، لكنني لا أزال أبحث عن حل محتمل. إذا كان ذلك مفيدًا، فهذا صورة لخطأ Sidekiq:
طبعًا يمكنني استخدام فترات التجربة المجانية، لكن بعد كل شيء، هي فترة تجربة مجانية ولها بعض القيود. ونعم، لقد اتبعت الدليل الرسمي لتثبيت منتدى Discourse. الموقع يعمل والبريد الإلكتروني فقط لا يعمل. شكرًا لك على المساعدة.
في هذه المرحلة، خياراتك الحقيقية هي الاختبار باستخدام موفر موصى به، أو الاتصال بـ VoltHosting. تشير الأخطاء إلى أن الشهادة المقدمة من خادم SMTP غير صالحة لاسم المضيف المستخدم للاتصال.
ما لم تتمكن من إثبات عكس ذلك عن طريق الاختبار مع إحدى الخدمات الموصى بها، فمن غير مرجح للغاية أن تكون هذه المشكلة مرتبطة بتثبيت Discourse الخاص بك.
شكرًا لك على الرد. إذا كان ذلك ممكنًا بالطبع، كيف يمكنني المضي قدمًا في التحقيق في هذا الأمر؟ هل هناك أمر Docker يمكنني تشغيله لاختباره ورؤية مخرجاته، أم شيء آخر؟ هل توجد طريقة يمكنني من خلالها اختبار ذلك في مكان ما والحصول على مخرجات توضح المشكلة؟ إذا لم يكن الأمر كذلك، فهذا مفهوم أيضًا. شكرًا لك على المساعدة.
تحديث: باستخدام أمر curl --ssl-reqd، اختبرت المنافذ 465 و587 و25 و2525. وكانت النتائج كالتالي:
25: لم ينجح (خطأ في Curl رقم 35، رقم إصدار خاطئ)
465: عمل كما هو متوقع مع استجابة سريعة للبريد الإلكتروني
587: لم ينجح (خطأ في Curl رقم 35، رقم إصدار خاطئ)
2525: لم يفشل، لكنه لم يرسل بريدًا إلكترونيًا أبدًا (استمرت المدة الزمنية في الزيادة دون توقف أثناء عدم إرسال أي بريد)
إذا كان ذلك مفيدًا، فإعداداتي الحالية هي (مع خطأ 502):
لا أعرف إن كان هذا مفيدًا، لكن تمكنت من تشغيل أمر curl --ssl-reqd من الخادم الافتراضي الخاص (VPS) وإرسال بريد إلكتروني بنجاح (كما ذكرت في هذه الإجابة). وعلاوة على ذلك، قمت بتشغيل الأمر داخل التطبيق (بعد الدخول عبر ./launcher enter app)، وقد نجح أيضًا، مع الحصول على نفس نتائج الاختبار السابق (المنفذ 465 يعمل، بينما 25 و587 لا يعملان، والمنفذ 2525 يعطي خطأ انتهاء المهلة)، ومع ذلك ما زلت أحصل على خطأ 502 عند تشغيله على المنتدى نفسه (باستخدام رسائل البريد الإلكتروني التجريبية). آمل أن تكون هذه المعلومات الإضافية مفيدة. شكرًا لك على مساعدتك.