Mbox Format

Kuidas e-posti kliendid salvestavad kirju teie kõvakettale

E-kirjade salvestamise kõige tavalisem vorm on mbox-vorming. MBOX tähistab MailBOXi. Mbox on üks fail, mis sisaldab nulli või rohkem e-kirju.

Mbox Format

Kui me kasutame e-posti salvestamiseks mbox-vormingut, paneme need kõik ühte faili. See loob enam-vähem pikk tekstifaili (Interneti-e-posti aadress on alati olemas ainult 7-bitiste ASCII-tekstidena, kõik muu - näiteks manused, - on kodeeritud ), mis sisaldab teist e-kirja. Kuidas me teame, kus üks lõpeb ja teine ​​hakkab?

Õnneks on igal e-posti aadressil vähemalt üks algus-line alguses. Iga sõnum algab sõnaga "Alates" (Alustuseks järgneb tühikutähis, mida nimetatakse ka "From_" rida). Kui sellele järjekorrale ("Alates") rea alguses eelneb tühi rida või see on faili ülaosas, oleme leidnud sõnumi alguse.

Mboxi faili parsimisel on põhiliselt tühi rida, millele järgneb "From".

Regulaaravaldisena võime seda kirjutada kui "\ n \ nFrom. * \ N". Ainult esimene sõnum on erinev. See algab lihtsalt "Alates" rea alguses ("^ From. * \ N").

& # 34; Alates & # 34; kehas

Mis juhtub, kui täpselt ülaltoodud järjestus kuvatakse e-kirja kehas? Mis siis, kui järgmine on e-posti osa?

... Saadan teile viimase aruande.

Sellest aruandest ei pea te ...

Siin on tühi rida, millele järgneb read "Alates" rea alguses. Kui see ilmub mbox-failis, on meil ilmselgelt uus sõnum. Vähemalt on see seda, mida parser mõtleb - ja miks nii e-posti klient kui ka meid segaksime e-kirjaga, mis ei sisalda ei saatjat ega saajat, vaid algab sõnaga "Alates sellest aruandest".

Selliste katastroofiliste tingimuste vältimiseks peame tagama, et e-kirjaosas olevasse tühja rida järgnenud rea alguses ei kuvata kunagi "Alates".

Kui lisame mbox-failile uue sõnumi , otsime selliseid järjestusi kehas ja asenda lihtsalt "From" ja "> From". See muudab väär tõlgendused võimatuks. Eespool toodud näide nüüd näeb välja nii, et parser ei käivitu enam:

... Saadan teile viimase aruande.

> Sellest aruandest ei pea te ...

Sellepärast võite mõnikord leida e-kirjaga "> Alates", kus oleks oodata vaid "Alates".