Kif Fetching Mail Permezz tal-Protokoll tal-Uffiċċju tal-Posta tax-Xogħlijiet

A Behind the Scenes Ħares lejn Fetching Mail Permezz tal-Protokoll tal-Posta

Il- Protokoll ta 'l-Uffiċċju tal-Posta (POP) użat biex tinġabar il-posta minn server remot huwa protokoll sempliċi ħafna. Tiddefinixxi l-funzjonalità bażika b'mod sempliċi u faċli biex timplimentaha. Naturalment, huwa wkoll faċli biex tinftiehem.

Ejja nsib x'jiġri wara l-kwinti meta l-programm tal-email tiegħek jiġbor il-posta f'kont POP. L-ewwel, jeħtieġ li jgħaqqad mas-server.

Hi, It-Tiegħi Me

Normalment, is-server POP jisma 'l- port 110 għal konnessjonijiet li deħlin. Mal-konnessjoni minn klijent POP (il-programm tal-email tiegħek), nisperaw li tirrispondi b ' + OK pop.philo.org lest jew xi ħaġa simili. Il- + OK jindika li kollox huwa - OK. L-ekwivalenti negattiv tiegħu huwa -ERR , li jfisser li xi ħaġa marret ħażin. Forsi l-klijent tal-email tiegħek diġà wera int wieħed minn dawn it-tweġibiet negattivi tas-server.

Logging On

Issa li s-server intlaqa 'magħna, għandna bżonn li log fuq l-użu tal- username tagħna (ejja nassumu li l-username huwa "platoon"; dak li jgħid is-server huwa stampat bil-korsiv):

+ OK pop.philo.org lesta
Platoon tal-USER

Peress li l-utent ma 'dan l-isem jeżisti, is-server POP jirrispondi b' + OK u forsi xi ġibberish li verament ma jimpurtahomx. Kieku ma kien hemm ebda utent bħal dan fis-server, naturalment, jagħmilna paniku ma ' -UU utent mhux magħruf .

Biex tagħmel l-awtentikazzjoni kompluta aħna wkoll jeħtieġ li nagħtu l-password tagħna. Dan isir bil-kmand "pass":

+ OK ibgħat il-password tiegħek
pass noplato

Jekk aħna nittrattaw il-password b'mod korrett, is-server jirrispondi b ' + password OK kbir jew ikun x'ikun il-programmer tas-server POP f'moħħu. Il-parti importanti għal darb'oħra hija l- OK . Sfortunatament, il-passwords jistgħu wkoll ikunu żbaljati. Is-server jinnota dan permezz ta ' username u password niexef -ERR ma jaqblux (bħal li kieku tuża l-username bħala l-password tiegħek).

Jekk kollox marru okay, għalkemm, aħna huma konnessi mas-server u jaf min aħna, għalhekk aħna lesti li naraw il-posta li għadha kif waslet.

Int bidlet il-posta!

Wara li rnexxielna ninstabu fil-kont POP tagħna fis-server, l-ewwel nistgħu nkunu nafu jekk hemmx posta ġdida u possibilment kemm.

Il-kmand użat biex tinkiseb din l-istatistika bażika tal-kaxxa postali huwa STAT .

Rispons ta 'server possibbli jkun + OK 18 67042 . F'dan il-każ, huwa importanti dak li jsegwi l- buttuna + OK . Immedjatament wara huwa n-numru ta 'messaġġi fil-kaxxa postali, imbagħad, separati minn spazju vojt, jiġi d-daqs tal-kaxxa postali f'ortett (octet huma 8 bits).

STAT
+ OK 18 67042

Jekk ma jkunx hemm posta, is-server jirrispondi b ' + OK 0 0 . Peress li hemm 18 messaġġ ġdid fuq is-server, madankollu, nistgħu niżżel dawn bl-użu tal-kmand LIST . Bi tweġiba, is-server jelenka l-messaġġi fil-format li ġej:

LISTA
+ OK 18 messaġġi (67042 octet)
1 2552
2 3297
...
18 3270
.

Il-messaġġi huma elenkati wieħed kull darba, kull wieħed wara d-daqs tiegħu f'ethmeters. Il-lista tispiċċa b'perjodu fuq linja waħedha.

Il-kmand LIST jista 'jieħu n-numru ta' messaġġ bħala argument fakultattiv, LISTA 2 per eżempju. Ir-rispons tas-server għal din it-talba jkun + OK 2 3297 , in-numru tal-messaġġ segwit mid-daqs tal-messaġġ. Jekk tipprova telenka messaġġ li ma jeżistix, bħal LISTA 23 , is-server ma juri l-ebda immaġinazzjoni u jgħid: -ERR l-ebda messaġġ bħal dan .

Il-Big Irkuprata (U Ħassar)

Issa li nafu kemm huma l-messaġġi fil-kont tagħna u kemm huma kbar, huwa fl-aħħar ħin biex tirkuprahom sabiex nistgħu nqrawhom ukoll.

Issa, wara li jiskopru jekk għandux posta ġdida, taqa 'l-ħaġa vera. Il-messaġġi jinkisbu waħda waħda b'numru tal-messaġġ tagħhom bħala argument għall-kmand RETR .

Is-server iwieġeb b ' + OK u l-messaġġ kif inhu, f'ħafna linji. Il-messaġġ jintemm minn perjodu fuq linja waħdu. Pereżempju:

RETR 1
+ OK 2552 octet
Blah!
.

Jekk nippruvaw nikseb messaġġ li ma jeżistix, aħna nikseb -ERR l-ebda messaġġ bħal dan .

Issa nistgħu ħassar il-messaġġ bl-użu tal-kmand DELE . (Nistgħu, ovvjament, inħassru l-messaġġ mingħajr ma rkuprawh jekk huwa wieħed minn dawk il-ġranet).

Huwa tajjeb li tkun taf li s-server mhux se jnaddaf il-messaġġ immedjatament. Huwa mmarkat biss għal tħassir. It-tħassir reali jiġri biss jekk regolarment ittemm il-konnessjoni mas-server. Għalhekk l-ebda posta qatt tintilef jekk il-konnessjoni f'daqqa tmut, per eżempju.

Ir-rispons tas-server għall-kmand DELE huwa + messaġġ imħassar imħassar :

DELE 1
+ Messaġġ OK 1 imħassar

Jekk tassew huwa wieħed minn dawk il-ġranet u marvelajna messaġġ għat-tħassir li ma rridux li jitħassru, huwa possibbli li l-messaġġi kollha jitneħħew mill-ġdid billi jitranġaw mill-ġdid il-marki tat-tħassir. Il-kmand RSET jirritorna l-kaxxa postali fl-istat li kien qabel ma rreġistrajna.

Is-server jirrispondi b ' + OK u possibbilment in-numru ta' messaġġi:

RSET
+ OK 18 messaġġi

Wara li rkuprajna u ħassru l-messaġġi kollha, huwa żmien li tgħid addiju billi tuża l-kmand QUIT . Dan se jbattal il-messaġġi mmarkati għat-tħassir u jagħlaq il-konnessjoni. Is-server jirrispondi b ' + OK u messaġġ ta' Adieu:

QUIT
+ OK bye, bye

Huwa possibbli li s-server ma setax iħassar messaġġ. Imbagħad se twieġeb b'xi żball bħal -ERR messaġġ 2 mhux imħassar .