Ang Format ng mbox

Paano I-store ng Mga Kliyente ng Email ang Mail sa Iyong Hard Disk

Ang pinaka-karaniwang format para sa imbakan ng mga mensaheng mail ay ang format ng mbox. Ang ibig sabihin ng MBOX ay para sa Mailbox. Ang isang mbox ay isang solong file na naglalaman ng zero o higit pang mga mensaheng mail.

Ang Format ng mbox

Kung gagamitin namin ang format ng mbox upang mag-imbak ng mga email, inilalagay namin ang lahat ng mga ito sa isang file. Lumilikha ito ng higit pa o mas kaunting haba ng tekstong file (laging umiiral ang email ng Internet bilang 7-bit na ASCII na teksto, lahat ng iba pa - mga attachment, halimbawa - ay naka-encode ) na naglalaman ng isang mensaheng email pagkatapos ng isa pa. Paano natin malalaman kung saan nagtatapos ang isa at nagsisimula ang isa pa?

Sa kabutihang palad, ang bawat email ay may hindi bababa sa isang From-line sa pinakadulo simula nito. Ang bawat mensahe ay nagsisimula sa "Mula" (Mula sinundan ng isang puting espasyo ng character, na tinatawag ding "From_" na linya). Kung ang pagkakasunod-sunod na ito ("Mula") sa simula ng isang linya ay sinundan ng isang walang laman na linya o nasa itaas ng file, natagpuan namin ang simula ng isang mensahe.

Kaya kung ano ang hinahanap namin kapag pag-parse ng isang mbox file ay, mahalagang, isang walang laman na linya na sinusundan ng "Mula".

Bilang isang regular na expression, maaari naming isulat ito bilang "\ n \ nFrom. * \ N". Iba lamang ang unang mensahe. Nagsisimula lamang ito sa "Mula" sa simula ng isang linya ("^ Mula. * \ N").

& # 34; Mula sa & # 34; sa Katawan

Paano kung eksakto ang pagkakasunud-sunod sa itaas ay lumilitaw sa katawan ng isang mensaheng email? Paano kung ang sumusunod ay bahagi ng isang email?

... Ipinadala ko sa iyo ang pinakahuling ulat.

Mula sa ulat na ito, hindi mo kailangan ...

Dito, mayroon kaming isang walang laman na linya na sinusundan ng "Mula" sa simula ng linya. Kung ito ay lumilitaw sa isang mbox file, hindi namin makakaalam ang simula ng isang bagong mensahe. Hindi bababa sa na kung ano ang iniisip ng parser - at kung bakit kapwa ang email client at nalilito kami ng isang mensaheng email na naglalaman ng alinman sa nagpadala o tumatanggap, ngunit nagsisimula sa "Mula sa ulat na ito".

Upang maiwasan ang mga nakapipinsalang kondisyon na ito, kailangan nating tiyakin na ang "Mula" ay hindi lilitaw sa simula ng isang linya kasunod ng isang walang laman na linya sa katawan ng isang email.

Sa tuwing magdaragdag kami ng isang bagong mensahe sa isang mbox file , hinahanap namin ang mga pagkakasunod-sunod sa katawan at palitan lamang ang "Mula" sa "> Mula". Ito ay gumagawa ng maling interpretasyon imposible. Ang halimbawa sa itaas ngayon ganito ang hitsura nito at hindi na nagpapalitaw sa parser:

... Ipinadala ko sa iyo ang pinakahuling ulat.

> Mula sa ulat na ito, hindi mo kailangan ...

Ito ang dahilan kung bakit minsan ay makikita mo ang "> Mula" sa isang email kung saan mo inaasahan ang isang lamang "Mula".