العمل على سكربت ترحيل من mailman2 إلى discourse

مرحباً،

أبدأ اليوم العمل على سكريبت بايثون لنقل قائمة بريدية من Mailman2 (الأرشيف وملف config.pck) باستخدام واجهة برمجة تطبيقات Discourse فقط. إذا كان أي شخص مهتماً، فإن العمل جارٍ هنا، وسأقوم بتحديث هذا الموضوع مع تقدم العمل.

أي تعليقات حول ما يحتاجه الناس أو ملاحظات حول كيفية تحسين ذلك موضع ترحيب بالتأكيد :slight_smile:

تحية طيبة

3 إعجابات

digest_members : تم تجاهله. لا يمكن طلب وضع الملخص على أساس كل فئة.

ربما يكون “مراقبة المنشور الأول” معادلة تقريبية، اعتمادًا على مدى تكرار ظهور مواضيع أو خيوط جديدة، ومدى تكرار إرسال ملخص عمليًا في القائمة.

3 إعجابات

تم إصدار الإصدار الأول من السكربت على Client Challenge. يعمل معي، وأتمنى أن يفيد الآخرين أيضًا. إذا لم يكن كذلك، فأخبرني وسأحاول تكييف السكربت.

إعجاب واحد (1)

كيف يتعامل مع القوائم التي تكون فيها from_is_list مضبوطة على “تغيير المرسل” أو “تغليف الرسالة” (أو عند استخدام إعدادات DMARC المكافئة حصريًا)؟ هل يستطيع تحديد المستخدم الذي أرسل تلك الرسائل؟

لا، سألقي نظرة على ما يتطلبه الأمر.

إعجاب واحد (1)

شكرًا لك. إذا كان ذلك يساعد، فإن عنوان البريد الإلكتروني للمرسل الأصلي يظهر غالبًا (دائمًا؟) في رأسية “Cc:” للبريد الإلكتروني، على الأقل عندما تكون الخاصية from_is_list مضبوطة على Munge From.

إعجاب واحد (1)

من القائمة

من القائمة

  • ينطبق هذا على جميع الرسائل غير الملخصة المرسلة من القائمة. بالنسبة للإعدادات التي تنطبق فقط على الرسائل التي ينشر نطاق الحقل From: سياسة DMARC بقيمة p=reject أو p=quarantine، راجع وصف dmarc_moderation_action في قسم فلاتر المرسل.

إذا تم تعيينه على “تعديل الحقل From”، فإنه يستبدل عنوان الحقل From: بعنوان نشر القائمة للتخفيف من المشكلات الناجمة عن سياسات DMARC أو ما شابهها في النطاق الأصلي للحقل From:، ويضع العنوان الأصلي للحقل From: في حقل Reply-To:.

إذا تم تعيينه على “تغليف الرسالة”، فإنه يغلف الرسالة الأصلية كجزء فرعي MIME ضمن رسالة خارجية تحتوي على حقلي From: و Reply-To: كما هو موضح أعلاه.

لا أعتقد أن Discourse يوفر ميزة مماثلة. لم أرَ أي إعدادات للموقع تتطابق مع ذلك. وقد تصفحت جميع الإعدادات المتعلقة بالبريد الإلكتروني عدة مرات خلال الأيام القليلة الماضية، في سياق عملية هجرة مستمرة من Mailman2.

إعجاب واحد (1)

ربما يكون سؤالك متعلقًا بكيفية استيراد الرسائل من الأرشيف بدلاً من تنفيذ الميزة في Discourse؟

إعجاب واحد (1)

يعمل Discourse بشكل أساسي بنفس طريقة Mailman 2 مع إعداد from_is_list = Munge From — وبهذه الإعدادات، تكون كل رسالة بريد إلكتروني من قائمة Mailman بعنوان “From: listname@example.com” (بدلاً من “From: joebloggs@email.com”) — وبالمثل، تكون كل إشعار بريد إلكتروني من Discourse من نفس عنوان البريد الإلكتروني الخاص بالمنتدى (noreply@forum.example.com أو ما شابه).

لكنني لم أكن أسأل حقًا عن نسخ هذه الميزة في Discourse. [تحرير - كما أدركت - لقد رأيت ردك الثاني للتو!]

كان قصدي: عند تفعيل إعداد Mailman هذا، هل سيقوم سكريبتك باستيراد هذه الرسائل باعتبارها صادرة من مستخدم واحد في Discourse (عنوان بريده الإلكتروني هو listname@example.com)، أم أنه سيتمكن بدلاً من ذلك من تحديد المرسل الأصلي؟

آمل أن يكون ذلك واضحًا!

إعجاب واحد (1)

شكرًا لك على التوضيح. لا يلعب سكريبت mailman2discourse أي دور في هذا الأمر لأنه لا يستورد الرسائل. يتم استيراد الرسائل عبر مستورد mbox في Discourse.

أعتقد أنه سيُعيّن مؤلف جميع الرسائل إلى listname@example.com. ولا أرى أي شيء في discourse/script/import_scripts/mbox/importer.rb يوحي بغير ذلك. سيكون هذا ميزة يمكن إضافتها والتحكم فيها ربما عبر حقل use_reply_to_instead_of_from في ملف settings.yml؟

إعجابَين (2)

أرى الآن، شكرًا لك.

للأسف، لدي أيضًا إعداد reply_goes_to_list على “هذه القائمة” (مما يغيّر رأس “Reply-To:”)، لذا سنحتاج إلى التفكير في حل آخر. أو ربما لا… سأطرح سؤالاً في الموضوع الآخر. شكرًا على مساعدتك.

للتسجيل، وصلت سكريبت الهجرة إلى مرحلة يمكن استخدامها، كما يتوفر دليل تعليمي:

إعجابَين (2)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.