بعد بضعة أسابيع من التجريب، يسعدني أنني نجحت في نشر إعداد متعدد المواقع داخل حاوية واحدة (بعد العديد من الإخفاقات). لقد كان هذا إنجازًا رائعًا بالنسبة لي، حيث أعمل بموارد محدودة للغاية (حوالي 1.34 جيجابايت من الذاكرة لموقعين أمر مذهل، وهو أفضل بكثير من تشغيل حاويتين منفصلتين).
أقوم بإعداد مجتمعات لمحاولة فعل الخير في هذا العالم، ولكن للأسف، لا يمكنني تحمل تكاليف خدمات الاستضافة الباهظة - حتى 20 دولارًا شهريًا تمثل عبئًا كبيرًا بالنسبة لي. أنا مصمم على جعل هذا الأمر يعمل بالموارد المتاحة لدي، ولهذا السبب أطلب المساعدة.
ومع ذلك، لقد واجهت عقبة صغيرة فيما يتعلق بتسليم البريد لكل نطاق فرعي. على حد علمي، يبدو أن الدعم الأصلي لعناوين بريد إلكتروني مميزة لكل موقع غير متاح في تكوين متعدد المواقع. هذا يبدو غريبًا بالنسبة لي، خاصة وأن Discourse تدير مثيلات مستضافة مثل xyz.discourse.group وأفترض أنكم لا تخصصون 2 جيجابايت من الذاكرة لكل مثيل. بالتأكيد، أنتم تستخدمون نهجًا متعدد المواقع مشابهًا؟
سؤالي هو: كيف تتعاملون مع تسليم البريد لكل نطاق فرعي؟
على سبيل المثال، إذا كان لدي مواقع xyz1.domain.com و xyz2.domain.com، فأريد أن تظهر رسائل البريد الإلكتروني الصادرة كـ notification@xyz1.domain.com و notification@xyz2.domain.com على التوالي، بدلاً من إرسال كل شيء من عنوان واحد عام. لقد حاولت تكوين Postfix بفحوصات الرأس (مثل X-Originating-Domain) ولكنني واجهت مشكلة لأن جميع رسائل البريد الإلكتروني تنشأ من نفس العنوان. هل سيكون الاستفادة من شيء مثل رأس List-Id نهجًا أفضل؟ أفهم أن هذا قد يكون موضوعًا حساسًا، وربما معلومات خاصة، ولكن أي مساعدة ستكون موضع تقدير.
أعتقد أنني قد أبالغ في التفكير في الأمر وأن هناك حلاً أبسط أغفلته. إذا كان بإمكانكم مشاركة كيف تحققون ذلك (أو توجيهي في الاتجاه الصحيح)، فسأكون ممتنًا للغاية.
أعتذر عن الارتباك في منشوري السابق - أدرك أنني لم أصف المشكلة بشكل صحيح. دعني أوضح.
التحدي الذي أواجهه هو مع تسليم البريد الإلكتروني في إعداد متعدد المواقع حيث لا يكون الاهتمام الأساسي هو النطاقات الفرعية، بل النطاقات الرئيسية المختلفة تمامًا. على سبيل المثال، أحاول تكوين مواقع مثل xyz1.domain1.com و xyz2.domain2.com داخل نفس حاوية Discourse.
أتفهم أن Discourse يسمح لك بتحديد بريد إلكتروني واحد للإشعارات في app.yml، مثل:
يعمل هذا بشكل مثالي للمثيل الأول (xyz1.domain1.com). ومع ذلك، عند إرسال رسائل البريد الإلكتروني من المثيل الثاني (xyz2.domain2.com)، تقوم موفري البريد الإلكتروني مثل Gmail بتمييزها على أنها غير متطابقة لأن رؤوس البريد الإلكتروني لا تتوافق مع النطاق xyz2.domain2.com. في الأساس، لا يمكنني تحديد تكوينات SMTP منفصلة لكل نطاق في إعداد متعدد المواقع واحد.
هل نجح أي شخص في التعامل مع هذا السيناريو حيث يستخدم كل نطاق رئيسي في إعداد متعدد المواقع بيانات اعتماد SMTP مميزة خاصة به (على سبيل المثال، إعدادات DISCOURSE_SMTP_* منفصلة لكل موقع)؟ هل هناك حل بديل، أم أن هذا يتطلب حاويات منفصلة لكل نطاق لتجنب عدم التطابق؟
بدلاً من ذلك، هل هناك أي ممارسات أو أدوات مفضلة (على سبيل المثال، تعديلات Postfix، استخدام رؤوس List-Id) يمكن أن تساعد في حل مشكلة عدم التطابق دون الحاجة إلى حاويات منفصلة لكل موقع؟
سأكون ممتنًا جدًا لأي رؤى أو اقتراحات. شكرًا مرة أخرى على وقتك ودعمك!
على الرغم من أن هذا يبدو كقيد لـ Discourse لأن إعداد متعدد المواقع يسمح لك فقط باستخدام حساب واحد للإرسال، إلا أن هذا في الواقع قيد لموفر البريد الإلكتروني الخاص بك حيث يسمح لك فقط باستخدام عنوان مرسل واحد ضمن حسابك.
حقيقة أن SMTP_USER_NAME يبدو كعنوان بريد إلكتروني هو لأنهم اختاروا فرض أن يكون ترويسة From: للرسائل التي ترسلها هي نفسها (أو: يتم إعادة كتابتها لتكون نفسها) مثل SMTP_USER_NAME.
يتم تعيين ترويسات البريد الإلكتروني بواسطة Discourse وإذا كنت تستخدم موفر بريد إلكتروني لا يلمسها ويسمح لك باستخدام عناوين مرسل متعددة ضمن نفس الحساب، فستعمل كل الأشياء بشكل جيد.