أبحث في بعض المنشورات التي تم حذف محتواها بعد استيراد رسائل البريد الإلكتروني من قائمة بريدية. بعض الرسائل الإلكترونية تحيط العناوين والأقسام بخطوط من “~~~~~~~~~~~~~~~~”، ويتم حذف أول ظهور لهذه الخطوط في سطر منفصل، بالإضافة إلى كل ما يليه، من منشور Discourse.
عند فحص البريد الإلكتروني في المنشور، يمكنني رؤية البريد الإلكتروني الأصلي المشفر بـ base64، وعند التبويب إلى تبويب النص، أرى أنه تم فك تشفيره دون حذف أي شيء.
./launcher enter app
rails c
Post.find_by(id: 154678)
=> #<Post:0x000055b8da925e08
...
باستخدام rails، أرى أن العمود raw يتوقف فورًا قبل أول ظهور لـ “~~~~~~~~~~~~~~~~”، وأن العمود cooked يحتوي بالطبع على نفس محتوى raw ولكن بصيغة مناسبة لـ HTML. لقد جربت تغيير بعض الإعدادات المتعلقة بتقليم رسائل البريد الإلكتروني، لكنني غير متأكد من كيفية اختبار ما إذا كانت هذه التغييرات تُحدث فرقًا.
كما أفهم الأمر، فإن استخدام إعادة بناء HTML في المنشور أو إصدار الأمر Post.find_by(id: 154678).rebake! في rails سيأخذ محتوى raw ويبني HTML، مما يضبط cooked. لكنني لا أعرف ما إذا كان سيأخذ محتوى raw_email ويعالجها مرة أخرى، لذا فإنني غير متأكد من كيفية اختبار ما إذا كانت الإعدادات المعدلة تُحدث أي تأثير.
كيف يمكنني إخبار Discourse بإعادة معالجة raw_email للمنشور إذا لم يقم rebake! بذلك، حتى أتمكن من التأكد من أنني أتعامل مع المشكلة بشكل صحيح؟
إذا كانت لديك أي أفكار حول كيفية منع حذف المحتوى، فإنها بالتأكيد موضع ترحيب أيضًا.