Mbox formāts

Kā e-pasta klienti uzglabā pastu savā cietajā diskā

Visbiežākais e-pasta ziņojumu glabāšanas formāts ir mbox formāts. MBOX nozīmē MailBOX. Mbox ir viens fails, kas satur nulles vai vairākas e-pasta ziņas.

Mbox formāts

Ja mēs izmantojam e-pastu uzglabāšanai mbox formātā, mēs visus tos ievietojam vienā failā. Tas rada vairāk vai mazāk ilgu teksta failu (interneta e-pasts vienmēr pastāv tikai kā 7 bitu ASCII teksts, viss pārējais - pielikumi, piemēram, tiek kodēti ), kas satur vienu e-pasta ziņojumu pēc otra. Kā mēs zinām, kur viens beidzas, bet otrs sākas?

Par laimi, katram e-pastam jau ir vismaz viens no sākuma. Katrs ziņojums sākas ar "No" (no tā seko atstarpes simbols, ko sauc arī par līniju "No_"). Ja šai secībai ("No") līnijas sākumā priekšā ir tukša rinda vai tā atrodas faila augšpusē, esam atraduši ziņas sākumu.

Tātad, ko mēs meklējam, analizējot mbox failu, būtībā ir tukša rinda, kam seko "No".

Kā regulāru izteiksmi mēs to varam ierakstīt kā "\ n \ n no. * \ N". Tikai pirmais ziņojums ir atšķirīgs. Tā sākas tikai ar "No" līnijas sākumā ("^ No. * \ N").

& # 34; No & # 34; ķermenī

Ko darīt, ja e-pasta ziņojuma tekstā tieši parādās iepriekšējā kārta? Ko darīt, ja tālāk norādītā informācija ir e-pasta daļa?

... Es nosūtīšu jums visjaunāko ziņojumu.

No šī pārskata jums nav nepieciešams ...

Šeit mums ir tukša rinda, kurai seko līnija "No" līnijas sākumā. Ja tas parādās mbox failā, mēs nepārprotami sākam jaunu ziņojumu. Vismaz tas ir tas, ko domā parsētājs - un kāpēc gan e-pasta klients, gan mēs tiktu sajaukti ar e-pasta ziņojumu , kurā nav ne sūtītāja, ne saņēmēja, bet sākas ar "No šī pārskata".

Lai izvairītos no šādiem katastrofāliem apstākļiem, mums ir jāpārliecinās, ka "No" nekad neparādās rindiņas sākumā pēc tukšas rindas e-pasta struktūrā.

Ikreiz, kad mēs pievienojam jaunu ziņojumu mbox failam , mēs meklējam šādas ķermeņa sekvences un vienkārši aizvietojam "No" ar "> No". Tas padara nepareizas interpretācijas neiespējamu. Šis piemērs tagad izskatās šādi un vairs nedarbina analizētāju:

... Es nosūtīšu jums visjaunāko ziņojumu.

> No šī pārskata jums nav nepieciešams ...

Tāpēc dažkārt var atrast e-pasta ziņojumā "> no", kurā jūs varētu gaidīt tikai no "No".