چگونه مشتریان ایمیل ذخیره ایمیل بر روی هارد دیسک شما
رایج ترین فرمت برای ذخیره پیام های پست الکترونیکی فرمت mbox است. MBOX مخفف MailBOX است. mbox یک پرونده ی تکمیلی است که حاوی صفر یا بیشتر از پیام های ایمیل است.
فرمت mbox
اگر از قالب mbox برای ذخیره ایمیل استفاده کنیم، همه آنها را در یک فایل قرار می دهیم. این یک فایل متنی طولانی یا طولانی را ایجاد می کند (ایمیل اینترنتی همیشه همیشه به عنوان متن 7 بیتی ASCII وجود دارد، هر چیز دیگری - پیوست ها، برای مثال - کد گذاری شده است ) حاوی یک پیام ایمیل پس از دیگر. چگونه می توانیم بدانیم کجا پایان می یابد و دیگری شروع می شود؟
خوشبختانه هر ایمیل حداقل از یک خط از ابتدای آن است. هر پیام با "از" آغاز می شود (از آن به دنبال یک شخصیت فضایی سفید نیز خط "From_" نامیده می شود). اگر این دنباله ("From") در ابتدای یک خط قبل از یک خط خالی یا در بالای فایل باشد، ما ابتدا یک پیام را پیدا کردیم.
بنابراین آنچه که ما در هنگام تجزیه یک فایل mbox به دنبال آن هستیم، اساسا یک خط خالی است که به دنبال آن «از» است.
به عنوان یک عبارت منظم، می توانیم این را به عنوان "\ n \ n از. * \ n" بنویسیم. فقط اولین پیام متفاوت است. این فقط با شروع از یک خط ("^ From. * \ n") شروع می شود.
& # 34؛ از & # 34؛ در بدن
اگر دقیقا دنباله بالا در بدن یک پیام ایمیل نشان داده شود چه؟ اگر زیر بخشی از یک ایمیل باشد چه؟
... من اخیرا به شما گزارش می دهم
از این گزارش شما نیازی به ...
در اینجا، ما یک خط خالی داریم و در ابتدای خط «From» در آنجا هستیم. اگر این در یک فایل mbox ظاهر شود، ما بدون شک یک پیام جدید را آغاز می کنیم. حداقل این چیزی است که تجزیه کننده فکر می کند - و چرا هر دو سرویس ایمیل و ما کاملا با یک پیام ایمیل که حاوی نه فرستنده یا گیرنده است، کاملا اشتباه گرفته می شود، اما با "از این گزارش" آغاز می شود.
برای جلوگیری از چنین شرایط فاجعه ای، ما باید مطمئن شویم که "از" هرگز در ابتدای خط بعد از یک خط خالی در بدن ایمیل ظاهر نمی شود.
هر بار که یک پیام جدید به یک فایل mbox اضافه می کنیم، ما دنبال چنین توالی هایی در بدن هستیم و به سادگی از "From" با "> From" جایگزین می کنیم. این ناسازگاری را غیر ممکن می سازد. مثال بالا در حال حاضر به نظر می رسد مثلثی نیست و تجزیه کننده بیشتر آن را غیرفعال می کند:
... من اخیرا به شما گزارش می دهم
> از این گزارش، شما نیازی به ...
به همین دلیل است که شما ممکن است گاهی اوقات "> از" را در یک ایمیل پیدا کنید که از آنجا انتظار می رود فقط "از" باشد.