Si Fetching Mail Nëpërmjet Protokollit Post Office punon

A Behind the Scenes Shikoni në Fetching Mail Nëpërmjet Protokollit të Postës

Protokolli Post Office (POP) i përdorur për të rifituar postën nga një server i largët është një protokoll shumë i thjeshtë. Ajo përcakton funksionalitetin bazë në mënyrë të drejtpërdrejtë dhe është i lehtë për t'u zbatuar. Natyrisht, është gjithashtu e lehtë për t'u kuptuar.

Le të zbulojmë se çfarë ndodh prapa skenave kur programi juaj i email-it merr postë në një llogari POP. Së pari, duhet të lidhet me serverin.

Hi, It's Me

Zakonisht, serveri POP dëgjon portin 110 për lidhjet hyrëse. Me lidhjen nga një klient POP (programi juaj i postës elektronike), ai me siguri do të përgjigjet me + OK pop.philo.org gati ose diçka të ngjashme. + OK tregon se gjithçka është - OK. Ekuivalenti i saj negativ është -ERR , që do të thotë se diçka ka shkuar keq. Ndoshta klienti juaj i email-it tashmë ju ka treguar një nga këto përgjigje negative të serverit.

Logging On

Tani që serveri na ka përshëndetur, ne duhet të identifikoheshim duke përdorur emrin tonë të përdoruesit (le të supozojmë se emri i përdoruesit është "platoon", çfarë thotë serveri në italik):

+ OK pop.philo.org gati
PLANI USER

Meqenëse një përdorues me këtë emër ekziston, serveri i POP-it përgjigjet me + OK dhe ndoshta disa dërrmuese të cilat me të vërtetë nuk interesohen. Sikur të mos kishte përdorues të tillë në server, do të na bënte paniku me -ERR përdorues të panjohur .

Për ta bërë të plotë legalizimin duhet gjithashtu të japim fjalëkalimin. Kjo bëhet me komandën e "kalimit":

+ OK dërgoni fjalëkalimin tuaj
kaloj noplato

Nëse e shkruajmë fjalëkalimin saktë, serveri përgjigjet me fjalëkalim + OK të mirë ose çfarëdo që kishte në mend programuesi i serverit POP. Pjesa e rëndësishme përsëri është + OK . Fatkeqësisht, fjalëkalimet mund të jenë gjithashtu të gabuara. Serveri shënon këtë me një emër përdoruesi dhe fjalëkalim të thatë -ERR që nuk përputhet (sikur të përdorësh emrin e përdoruesit si fjalëkalim).

Nëse gjithçka shkoi mirë, megjithatë, ne jemi të lidhur me serverin dhe e dimë se kush jemi, prandaj ne jemi gati të shikojmë postën e sapoardhur.

Ju keni postë!

Pasi të kemi hyrë me sukses në llogarinë tonë POP në server, së pari mund të dimë nëse ka ndonjë postë të re dhe pastaj ndoshta sa.

Komanda e përdorur për të rifituar këto statistika bazë të kutisë së postës është STAT .

Një përgjigje e mundshme e serverit do të ishte + OK 18 67042 . Në këtë rast, ka rëndësi se çfarë ndjek shenjën + OK . Menjëherë pas është numri i mesazheve në kutinë postare, pastaj, të ndara nga një hapësira e bardhë, vjen madhësia e kutisë postare në oktete (një oktet janë 8 bite).

STAT
+ OK 18 67042

Nëse nuk ka postë, serveri përgjigjet me + OK 0 0 . Meqë ka 18 mesazhe të reja në server, megjithatë, mund t'i rendisim ato duke përdorur komandën LIST . Në përgjigje, serveri rendit mesazhet në formatin e mëposhtëm:

LISTË
+ OK 18 mesazhe (67042 oktete)
1 2552
2 3297
...
18 3270
.

Mesazhet listohen një nga një, secila e ndjekur nga madhësia e saj në oktete. Lista përfundon me një periudhë në një rresht në vetvete.

Komanda LIST mund të marrë numrin e një mesazhi si një argument opsional, LISTA 2 për shembull. Përgjigjja e serverit ndaj kësaj kërkese do të ishte + OK 2 3297 , numri i mesazhit i ndjekur nga madhësia e mesazhit. Nëse përpiqeni të listoni një mesazh që nuk ekziston, si LIST 23 , serveri nuk tregon imagjinatë dhe thotë: -ERR nuk ka mesazh të tillë .

Rifreskimi i madh (dhe fshirja)

Tani që ne e dimë se sa mesazhe janë në llogarinë tonë dhe sa të mëdha janë, është koha më e fundit për t'i tërhequr ato në mënyrë që t'i lexojmë ato gjithashtu.

Tani, pasi kemi gjetur nëse kemi postë të re, vjen gjëja e vërtetë. Mesazhet tërhiqen një nga një me numrin e tyre të mesazhit si një argument për komandën RETR .

Serveri përgjigjet me një + OK dhe mesazhin ashtu siç është, në linja të shumëfishta. Mesazhi përfundon nga një periudhë në një rresht në vetvete. Për shembull:

RETR 1
+ OK 2552 oktet
Blah!
.

Nëse përpiqemi të marrim një mesazh që nuk ekziston, ne nuk marrim mesazh të tillë .

Tani mund ta fshijmë mesazhin duke përdorur komandën DELE . (Natyrisht, mund ta fshijmë edhe mesazhin pa e marrë atë nëse është një nga ato ditë).

Është mirë të dihet se serveri nuk do ta pastrojë menjëherë porosinë. Ajo thjesht shënohet për fshirje. Fshirja aktuale ndodh vetëm nëse rregullisht përfundojmë lidhjen me serverin. Pra, asnjë mail nuk do të humbasë nëse lidhja papritmas vdes, për shembull.

Përgjigjja e serverit ndaj komandës DELE është + OK mesazh fshihet :

DELE 1
+ Mesazhi OK 1 fshihet

Nëse është me të vërtetë një nga ato ditë dhe ne kemi shënuar një mesazh për fshirje që ne nuk duam të fshihemi, është e mundur që të shlyhen të gjitha mesazhet duke rivendosur shenja fshirje. Komanda RSET kthen kutinë e postës në gjendjen në të cilën ndodhej përpara se të futemi .

Serveri përgjigjet me një + OK dhe ndoshta numrin e mesazheve:

RSET
+ OK 18 mesazhe

Pasi të kemi marrë dhe fshirë të gjitha mesazhet është koha për të thënë lamtumirë duke përdorur komandën QUIT . Kjo do të pastrojë mesazhet e shënuara për fshirje dhe të mbyllë lidhjen. Serveri përgjigjet me + OK dhe një mesazh lamtumirës:

QUIT
+ OK bye, bye

Është e mundur që serveri të mos ishte në gjendje të fshinte një mesazh. Pastaj ajo do të përgjigjet me një gabim si -RREG mesazh 2 nuk fshihet .