Fformat y mbox

Sut mae Cleientiaid E-bost yn Siop Post ar Eich Disg Galed

Y fformat mwyaf cyffredin ar gyfer storio negeseuon post yw'r fformat mbox. Mae MBOX yn sefyll ar gyfer MailBOX. Ffeil sengl yw mbox sy'n cynnwys sero neu fwy o negeseuon post.

Fformat y mbox

Os byddwn yn defnyddio'r fformat mbox i storio negeseuon e-bost, rydyn ni'n rhoi pob un ohonynt mewn un ffeil. Mae hyn yn creu ffeil testun fwy neu lai o hyd (mae e-bost y Rhyngrwyd bob amser yn bodoli yn unig fel testun ASCII 7-bit, popeth arall - mae atodiadau, er enghraifft - yn cael eu hamgodio ) sy'n cynnwys un neges e-bost ar ôl y llall. Sut ydyn ni'n gwybod lle mae un yn dod i ben ac un arall yn dechrau?

Yn ffodus, mae gan bob e-bost o leiaf un O-lein ar y cychwyn cyntaf. Mae pob neges yn dechrau gyda "O" (O ddilyn â chymeriad gofod gwyn, a elwir hefyd yn llinell "From_"). Os yw'r gyfres hon ("O") ar ddechrau llinell yn cael ei ragfynegi gan linell wag neu ar frig y ffeil, rydym wedi dod o hyd i ddechrau neges.

Felly yr hyn yr ydym yn chwilio amdano wrth ddarllen ffeil mbox, yn ei hanfod, yw llinell wag a ddilynir gan "O".

Fel mynegiant rheolaidd, gallwn ni ysgrifennu hyn fel "\ n \ nFrom. * \ N". Dim ond y neges gyntaf yn wahanol. Mae'n dechrau dim ond gydag "O" ar ddechrau llinell ("^ From. * \ N").

& # 34; O & # 34; yn y Corff

Beth os yw'n ymddangos yn union y dilyniant uchod yng nghorff neges e-bost? Beth os yw'r canlynol yn rhan o e-bost?

... Rwy'n anfon yr adroddiad diweddaraf atoch.

O'r adroddiad hwn, nid oes angen ichi ...

Yma, mae gennym linell wag a ddilynir gan "O" ar ddechrau'r llinell. Os yw hyn yn ymddangos mewn ffeil mbox, mae gennym neges newydd yn ddi-nod. O leiaf dyna'r hyn y mae'r parser yn ei feddwl - a pham y dylai'r cleient e-bost ac y byddem yn drysu'n eithaf trwy neges e - bost nad yw'n cynnwys unrhyw anfonwr na derbyniwr, ond yn dechrau gyda "O'r adroddiad hwn".

Er mwyn osgoi amodau mor drychinebus, mae angen inni sicrhau nad yw "O" yn ymddangos ar ddechrau llinell yn dilyn llinell wag yng nghorff e-bost.

Pryd bynnag y byddwn yn ychwanegu neges newydd at ffeil mbox , edrychwn am ddilyniannau o'r fath yn y corff a dim ond yn lle "O" gyda "> O". Mae hyn yn gwneud camddehongliadau yn amhosibl. Mae'r enghraifft uchod bellach yn edrych fel hyn ac nid oes mwy yn sbarduno'r parser:

... Rwy'n anfon yr adroddiad diweddaraf atoch.

> O'r adroddiad hwn, nid oes angen ichi ...

Dyma pam y gallech weithiau ddod o hyd i "> O" mewn e-bost lle byddech chi'n disgwyl dim ond "O".