מהו קובץ MBOX?
פורמט קובץ MBox הוא מונח כללי המייצג מיכל לאיסוף הודעות דואר אלקטרוני. ההודעות מאוחסנות בתוך המכולה יחד עם הקבצים המצורפים שלהן. הודעות מתיקיה שלמה נשמרות בקובץ מסד נתונים בודד והודעות חדשות מתווספות לסוף הקובץ. יישומים רבים וממשק API מספקים תמיכה בפורמט קובץ MBox כגון Apple Mail ו-Mozilla Thunderbird.
פורמט קובץ MBOX
פורמט הקובץ MBox נשאר לא מתוקנן במשך זמן רב למדי עד 2005, כאשר האפליקציה/mbox תוקנה כ-RFC 4155. הודעות, בפורמט RFC 2822 , משורשרים בתוך פורמט קובץ MBox בזה אחר זה. כל הודעה מתחילה בשורת הפרדה המזהה את שולח ההודעה, וכן מזהה את התאריך והשעה שבהם ההודעה התקבלה על ידי הנמען הסופי (או מערכת הקפיצה האחרונה בנתיב ההעברה, או המערכת המשמשת כמערכת של הנמען. חנות הדואר). כל הודעה מסתיימת בדרך כלל בשורה ריקה. סופו של מסד הנתונים מזוהה בדרך כלל על ידי היעדר נתונים נוספים, או על ידי נוכחות של סמן סוף קובץ מפורש.
קריאת הודעה מקובץ MBox
קורא סורק דרך קובץ mbox מחפש קווי From_. כל שורה From_ מסמנת את תחילתה של הודעה. הקורא לא צריך לנסות לנצל את העובדה שכל שורה From_ (מעבר לתחילת הקובץ) שורה ריקה. ברגע שהקורא מוצא הודעה, הוא מחלץ (אולי פגום) שולח מעטפה ותאריך מסירה מהשורה From_. לאחר מכן הוא קורא עד לשורה From_ הבאה או לסוף הקובץ, המוקדם מביניהם. הוא מסיר את השורה הריקה הסופית ומוחק את הציטוט של שורות > מתוך_ שורות ו- > מתוך_ שורות וכן הלאה. התוצאה היא הודעת RFC 822.
שיקולי קידוד
התוכן של קובץ MBox יכול להתערבב באופן בלתי הפיך כאשר הודעת דואר אלקטרוני שהתקבלה מכילה קובץ Mbox כקובץ מצורף ונשמרת בקובץ Mbox אחר. כדי להימנע מכך, מערכות הודעות חייבות לקודד מסד נתונים של mbox עם קידוד העברה לא שקוף (כגון BASE64 או Quoted-Printable) בכל פעם שאובייקט כזה מועבר באמצעות פרוטוקולי הודעות. המיישמים צריכים להיות מוכנים גם לקודד נתוני mbox באופן מקומי אם מתקבלים נתונים שאינם תואמים.