Mbox фармат

Колькі Паштовыя кліенты крамы пошты на цвёрдым дыску

Самы распаўсюджаны фармат для захоўвання паведамленняў электроннай пошты фармат Mbox. MBOX стаіць за паштовую скрыню. Mbox ўяўляе сабой адзін файл, які змяшчае нуль або больш паведамленняў.

Mbox фармат

Калі мы выкарыстоўваем фармат MBox для захоўвання паведамленняў электроннай пошты, мы змяшчаем іх усё ў адным файле. Гэта стварае больш ці менш доўгія тэкставы файл (электронная пошта Інтэрнэт заўсёды існуе толькі ў выглядзе 7-бітнага ASCII тэксту, усё астатняе - ўкладанні, напрыклад , - гэта закадаваны ) , які змяшчае адно паведамлення па электроннай пошце пасля іншы. Як мы ведаем, дзе канчаецца адно і пачынаецца?

На шчасце, кожнае паведамленне мае па меншай меры, адзін з якіх знаходзіцца он-лайн ў самым яе пачатку. Кожнае паведамленне пачынаецца з «З» (З наступнага прабелам, таксама называецца лінія "From ў »). Калі гэтая паслядоўнасць ( «С») у пачатку радка папярэднічае пусты радку ці ў верхняй частцы файла, мы знайшлі пачатак паведамленні.

Так што мы шукаем пры разборы файла MBox, па сутнасці, пусты радок, затым «З».

У рэгулярным выразе, мы можам запісаць гэта як "\ N \ Nfrom. * \ П". Толькі вельмі першае паведамленне адрозніваецца. Яна пачынаецца толькі з "From» у пачатку радка ( «^ From. * \ П»).

& # 34; З & # 34; у целе

Што рабіць, калі вышэй менавіта паслядоўнасць з'яўляецца ў целе паведамлення электроннай пошты? Што рабіць, калі наступнае з'яўляецца часткай электроннай пошты?

... Я пасылаю вам самы апошні справаздачу.

З гэтай справаздачы, ня трэба ...

Тут, у нас ёсць пусты радок, за якой варта «З» ў пачатку радка. Калі гэта з'яўляецца ў файле MBox, мы беспамылкова ёсць пачатак новага паведамленні. Прынамсі , гэта тое, што думае , што сінтаксічны аналізатар - і чаму , як кліент электроннай пошты , і мы былі б вельмі зьбянтэжаны ў паведамленні электроннай пошты , які ня ўтрымлівае ні адпраўнік , ні атрымальнік, але пачынаецца з «З гэтай справаздачы».

Для таго, каб пазбегнуць такіх катастрафічных умоў, мы павінны пераканацца, што «З» ніколі не з'яўляецца ў пачатку радка наступнай пустым радком у целе ліста.

Кожны раз , калі мы дадаем новае паведамленне ў файл MBox , мы шукаем такія паслядоўнасці ў арганізме і проста замяніць «З» з «> From». Гэта робіць немагчымым няправільнае тлумачэнне. У прыведзеным вышэй прыкладзе ў цяперашні час выглядае, як гэта і больш не выклікае парсер:

... Я пасылаю вам самы апошні справаздачу.

> З гэтай справаздачы, ня трэба ...

Вось чаму часам вы можаце знайсці «> З» па электроннай пошце, дзе вы чакалі б проста «З».