Mbox-formaatti

Sähköpostiasiakkaiden tallentaminen sähköpostilla kiintolevylle

Yleisin postiviestien tallennusmuoto on mbox-formaatti. MBOX tarkoittaa MailBOXia. Mbox on yksittäinen tiedosto, joka sisältää nollan tai useamman sähköpostiviestin.

Mbox-formaatti

Jos käytämme mbox-muotoa sähköpostiviestien tallentamiseen, laitamme ne kaikki yhteen tiedostoon. Tämä luo enemmän tai vähemmän pitkiä tekstitiedostoja (Internet-sähköposti on aina vain 7-bittinen ASCII-teksti, kaikki muut - liitetiedostot on koodattu ), joka sisältää yhden sähköpostiviestin toisensa jälkeen. Kuinka tiedämme, mistä päättyy ja toinen alkaa?

Onneksi jokaisella sähköpostiosoitteella on ainakin yksi From-line alusta. Jokainen viesti alkaa "From" (From ja sen jälkeen valkoinen tila merkki, jota kutsutaan myös "From_" -riviksi). Jos tämän rivin alussa oleva sarja ("From") edeltää tyhjä rivi tai on tiedoston yläosassa, olemme löytäneet viestin alun.

Joten mitä etsimme, kun jäsentää mbox-tiedosto on lähinnä tyhjä rivi, jota seuraa "From".

Säännöllisenä lausekkeena voimme kirjoittaa tämän nimellä "\ n \ nMuuta. * \ N". Ainoastaan ​​ensimmäinen viesti on erilainen. Se alkaa vain riviltä "From" ("^ From. * \ N").

& # 34; & # 34; kehossa

Entä jos juuri yllä oleva sekvenssi ilmestyy sähköpostiviestin rungossa? Entä jos seuraava on osa sähköpostia?

Lähetän sinulle viimeisimmän raportin.

Tästä raportista ei tarvitse ...

Tässä meillä on tyhjä rivi, jota seuraa "From" rivin alussa. Jos tämä näkyy mbox-tiedostossa, meillä on epäilemättä uusi viestin alku. Ainakin tämä on se, mitä parser käsittelee - ja miksi sähköpostiasiakkaat ja me olisimme melko sekaisin sähköpostiviestillä, joka ei sisällä lähettäjää tai vastaanottajaa, vaan alkaa tästä "tästä raportista".

Tällaisten katastrofaalisten olosuhteiden välttämiseksi meidän on varmistettava, että Lähettäjä ei koskaan näy rivin alussa, joka seuraa tyhjän rivin sähköpostin ruudussa.

Aina kun lisäämme uuden viestin mbox-tiedostoon , etsimme tällaisia ​​sekvenssejä kehossa ja vaihdamme vain "From": stä "> From". Tämä tekee vääristä tulkinnoista mahdottomaksi. Yllä oleva esimerkki näyttää nyt tästä eikä enää käynnistä jäsentimen:

Lähetän sinulle viimeisimmän raportin.

> Tästä raportista ei tarvitse ...

Siksi saatat joskus löytää "> Lähettäjä" -sähköpostissa, jossa voit odottaa pelkästään "From".