تنسيق mbox

كيف البريد الإلكتروني عملاء تخزين البريد على القرص الثابت الخاص بك

التنسيق الأكثر شيوعًا لتخزين رسائل البريد هو تنسيق mbox. MBOX لتقف على MailBOX. يعد mbox ملفًا واحدًا يحتوي على رسائل بريدية أو أكثر.

تنسيق mbox

إذا استخدمنا تنسيق mbox لتخزين رسائل البريد الإلكتروني ، فنحن نضعها جميعًا في ملف واحد. يؤدي هذا إلى إنشاء ملف نصي طويل أو أكثر (البريد الإلكتروني عبر الإنترنت موجود فقط كنص ASCII 7 بت ، وكل شيء آخر - المرفقات ، على سبيل المثال - يتم ترميزه ) يحتوي على رسالة بريد إلكتروني واحدة بعد الأخرى. كيف نعرف أين ينتهي المرء ويبدأ آخر؟

لحسن الحظ ، كل بريد إلكتروني يحتوي على خط واحد على الأقل في البداية. تبدأ كل رسالة بـ "من" (متبوعًا بحرف مسافة بيضاء ، يُطلق عليه أيضًا اسم سطر "من_"). إذا كان هذا التسلسل ("من") في بداية السطر مسبوقًا بسطر فارغ أو في أعلى الملف ، فقد وجدنا بداية رسالة.

إذن ما نبحث عنه عند تحليل ملف mbox هو ، في الأساس ، سطر فارغ متبوعًا بـ "من".

كتعبير عادي ، يمكننا كتابة هذا كـ "\ n \ n من. * \ n". فقط الرسالة الأولى هي مختلفة. يبدأ بمجرد "من" في بداية السطر ("^ من. * \ n").

& # 34؛ من & # 34؛ داخل الجسم

ماذا لو ظهر بالضبط التسلسل أعلاه في نص رسالة البريد الإلكتروني؟ ماذا لو كان ما يلي جزءًا من البريد الإلكتروني؟

... أرسل لك أحدث تقرير.

من هذا التقرير ، لا تحتاج ...

هنا ، لدينا سطر فارغ متبوعًا بـ "من" في بداية السطر. إذا ظهر هذا في ملف mbox ، فسنكون لدينا بداية رسالة جديدة. على الأقل هذا ما يفكر فيه المحلل - ولماذا كل من عميل البريد الإلكتروني وسنكون مرتبكين تمامًا من خلال رسالة بريد إلكتروني لا تحتوي على مرسل ولا مستلم ، بل تبدأ بـ "من هذا التقرير".

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

عندما نضيف رسالة جديدة إلى ملف mbox ، فإننا نبحث عن مثل هذه التسلسلات في الجسم ونستبدل ببساطة "من" بـ "> من". هذا يجعل من سوء التفسير مستحيل. يبدو المثال أعلاه الآن مثل هذا ولا يؤدي إلى تشغيل المحلل اللغوي:

... أرسل لك أحدث تقرير.

> من هذا التقرير ، لا تحتاج ...

ولهذا السبب قد تجد أحيانًا "> من" في رسالة بريد إلكتروني حيث تتوقع مجرد "من".