لقد كنت أعاني من إعداد SMTP ليعمل، وأتمنى حقًا أن يتمكن أحد من مساعدتي في سيناريوهي. لذا، لنفترض أن منتدى Discourse الخاص بي موجود في discourseaddress.com وبريدي الإلكتروني في mailserver.com. يستضيف Discourse على آلة افتراضية في Google Cloud، بينما يستضيف خادم البريد على استضافة مختلفة (إنها مجرد استضافة ويب بسيطة مع cPanel).
إعداداتي هي كالتالي:
اسم المضيف: discourseaddress.com
البريد الإلكتروني: user@discourseaddress.com
عنوان SMTP: mailserver.com
منفذ SMTP: 26
اسم مستخدم SMTP: discourse@discourseaddress.com
كلمة مرور SMTP: mailpassword
مع هذه الإعدادات، أحصل على خطأ مفاده أن اسم المضيف لا يطابق الشهادة، ولا يتم تسليم الرسائل الإلكترونية.
إذا استخدمت DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none، يتم تسليم الرسائل، لكنني لا أعتقد أن هذا آمن؟ (مع ذلك، أحصل على 10/10 في mailtester.com مع هذا الإعداد).
إذا كان بإمكان أحدكم تقديم بعض التعليقات حول هذا الأمر، فسأقدر ذلك حقًا.
هل يمكنك أن تكون أكثر وضوحًا بشأن هذا؟ شهادة SSL الخاصة بخادم البريد الإلكتروني الخاص بي صادرة من Let’s Encrypt، لكنها موجودة خلف المنفذ 465 (أستخدم 26، والمنفذ 465 لا يعمل على الإطلاق)، بينما شهادة Discourse صادرة من CloudFlare. لست متأكدًا مما إذا كنت أفهم مسألة الشهادات بشكل كامل.
إما أن المسؤول عن خادم البريد هذا قام بإعداده بشكل خاطئ، أو أن الخادم يستجيب لـ mailserver.com لكنه يحتوي على شهادة صالحة فقط لـ (مثلًا) mail.mailserver.com. الشخص الذي يجب التوجه إليه هو المسؤول عن هذا الخادم. هذه ليست مشكلة في Discourse. إذا كنت أنت المسؤول عن خادم البريد، فإما أن تحل مشكلة الشهادة، أو ببساطة استخدم المتغير DISCOURSE_SMTP_OPENSSL_VERIFY_MODE، وهو حل فعال.