Mbox Format

Kako klijenti e-pošte pohranjuju poštu na tvrdi disk

Najčešći format za pohranu poruka e-pošte je mbox format. MBOX označava MailBOX. Mbox je jedna datoteka koja sadrži nulu ili više poruka e-pošte.

Mbox Format

Ako koristimo mbox format za pohranu e-pošte, sve smo ih stavili u jednu datoteku. To stvara više ili manje dugu tekstualnu datoteku (internetska e-pošta uvijek postoji samo kao 7-bitni ASCII tekst, sve je drugo - primjerice privitci - kodirani ) koji sadrži jednu poruku e-pošte nakon drugog. Kako znamo gdje se završava i počinje drugi?

Srećom, svaka poruka e-pošte ima barem jedan From-line na samom početku. Svaka poruka započinje s "From" (od koje slijedi znak s bijelim prostorom, koji se naziva i redak "From_"). Ako ovaj slijed ("Od") na početku retka prethodi praznom retku ili se nalazi na vrhu datoteke, pronašli smo početak poruke.

Dakle, ono što tražimo prilikom raščlanjivanja datoteke mbox je, u osnovi, praznu liniju koju slijedi "From".

Kao regularni izraz, možemo je napisati kao "\ n \ nFrom. * \ N". Samo prva poruka je drugačija. Počinje samo s "From" na početku retka ("^ From. * \ N").

& # 34; Od & # 34; u tijelu

Što ako je upravo gore navedena sekvenca prikazana u tijelu poruke e-pošte? Što ako je sljedeće dio e-pošte?

Poslati najnovije izvješće.

Iz ovog izvješća ne morate ...

Ovdje imamo praznu liniju koju slijedi "Od" na početku retka. Ako se to pojavi u mbox datoteci, neizostavno imamo početak nove poruke. Barem je to ono što parser misli - i zašto bi i e-mail klijent i mi bili prilično zbunjeni porukom e-pošte koja ne sadrži ni pošiljatelja ni primatelja, već počinje sa "Iz ovog izvješća".

Da bismo izbjegli takve katastrofalne uvjete, moramo se pobrinuti da se "Od" nikada ne pojavljuje na početku retka nakon praznog retka u tijelu e-pošte.

Kad god dodajemo novu poruku u datoteku mbox , tražimo takve sekvence u tijelu i jednostavno zamijenimo "Od" sa "> od". To čini pogrešnim tumačenjima nemoguće. Gornji primjer sada izgleda ovako i više ne aktivira parsera:

Poslati najnovije izvješće.

> Iz ovog izvješća ne morate ...

Zato ponekad možete pronaći "> od" u e-poruci gdje biste očekivali samo "od".