إرسال الرد عبر البريد الإلكتروني من Outlook يزيل كل ما يلي القائمة المرقمة

استضافة ذاتية، الإصدار 2026.1.5 (التغيير 2727e4d). ندير مجتمعنا بنمطة قائمة بريدية ونعالج الردود عبر البريد الإلكتروني.

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

ما لفت انتباهي في البداية: قوائم النقاط (bullet lists) في الجزء السابق من نفس البريد الإلكتروني وصلت بشكل سليم. فقط القائمة المرقمة هي التي تم قطعها، بالإضافة إلى كل ما جاء بعدها.

المسؤول عن ذلك هو extract_from_word في الملف lib/email/receiver.rb. فيما يتعلق ببريد Outlook/Word، يعامل العنصر الأول من نوع .WordSection1 الذي ليس <p> أو <ul> كبداية توقيع أو رسالة مرفقة، ويقوم بإزالته مع كل العناصر التالية له:

elided =
doc.css(
“.WordSection1 > :not(p):not(ul):first-of-type, .WordSection1 > :not(p):not(ul):first-of-type ~ *”,
).remove

يقوم Outlook بتصيير القوائم المرقمة كـ <ol>، ولا يستثني المحدد (selector) عنصر <ol>. لذا، تكون القائمة المرقمة هي أول عنصر “ليس <p> وليس <ul>”، ويقوم المستقبل بقطع الرسالة هناك بالضبط. يتم استبعاد قوائم النقاط (<ul>)، وهو السبب في بقائها وعدم بقاء القائمة المرقمة.

طريقة إعادة إنتاج المشكلة

  1. من Outlook (نسخة سطح المكتب)، أجب على إشعار. اكتب فقرة، ثم قائمة مرقمة، ثم فقرة أخرى.
  2. تحتفظ المنشأة المنشأة بالنص حتى القائمة المرقمة وتُحذف القائمة وكل ما يأتي بعدها.

جسم HTML الأدنى الذي يحفز المشكلة (سهل الإدراج في اختبار المستقبل receiver spec):

فقرة تمهيدية.

الخطوات:

  1. الأول
  2. الثاني

هذه الفقرة الخلفية تختفي أيضاً.

ستحصل فقط على فقرتي التمهيد.

لا تزال المشكلة موجودة في الفرع الرئيسي — لم يتغير المحدد. بحثت في فئة الأخطاء أولاً ولم أجد هذه المشكلة مُبلَّغاً عنها مسبقاً.

الحل المقترح

عامل <ol> بنفس طريقة <ul>، لأن القائمة المرقمة هي محتوى وليس توقيعاً:

“.WordSection1 > :not(p):not(ul):not(ol):first-of-type, .WordSection1 > :not(p):not(ul):not(ol):first-of-type ~ *”

هذا يحافظ على القائمة ولا يزال يحذف علامات التوقيع/التحويل الحقيقية (الجداول، divs، hr، الصور). يسعدني فتح طلب سحب (PR) مع رسالة بريد إلكتروني ثابتة واختبار يفشل إذا كان ذلك مفيداً.

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

هممم، هل يمكنك محاولة تحديث موقعك أولاً؟ بما أن نسختك ليست الأحدث، فقد يكون هذا الخطأ قد تم إصلاحه في التحديثات اللاحقة.

هممم. حالة Discourse في لوحة الإدارة الخاصة بي تشير إلى أنني محدّث وأستخدم أحدث إصدار. غريب حقاً.

لذا أرى أنني أستخدم أحدث إصدار من ESR. لدي حل بديل مؤقتاً. لدي العديد من الإضافات المكتوبة، ومع وجود حل بديل، لن أجازف باختبار خادم إنتاج ذي حركة مرور عالية. سأضطر فقط إلى الانتظار حتى أقوم بالترقية لاحقاً لأرى ما إذا كان قد تم إصلاحه.

أوه، ربما أسأت قراءة قائمة الإصدارات. نعم، أعتقد أن نسختك لا تزال مدعومة.

هل لديك مثال لمثل هذا البريد الإلكتروني يمكننا استخدامه لتسهيل إعادة الإنتاج (وبالتالي الإصلاح)؟ لا تتردد في إرسال ملف .eml الخاص بي عبر رسالة خاصة (مع حذف البيانات PII).

ك新用户,我无法上传文件。而且我到处都找过了,也没找到给你发私信的地方,所以可能私信功能也被禁用了。很抱歉给你添麻烦了。

لقد رفعت مستوى ثقتك بك، لذلك يجب أن تكون قادرًا على النقر على الصورة الرمزية الخاصة بي ورؤية زر رسالة :wink:

تم. شكراً لك. مقدّر