Hoe om die pos deur die poskantoorprotokolwerke te haal

A Agter die skerms Kyk na die haal van die pos deur die Poskantoorprotokol

Die Poskantoorprotokol (POP) gebruik om e-pos van 'n eksterne bediener te herwin, is 'n baie eenvoudige protokol. Dit definieer die basiese funksionaliteit op 'n eenvoudige manier en is maklik om te implementeer. Dit is natuurlik ook maklik om te verstaan.

Kom ons uitvind wat agter die skerms gebeur wanneer u e-posprogram pos in 'n POP-rekening haal. Eerstens moet dit aan die bediener koppel.

Hallo, dit is my

Gewoonlik luister die POP-bediener na poort 110 vir inkomende verbindings. By verbinding vanaf 'n POP-kliënt (jou e-posprogram), sal dit hopelik reageer met + OK pop.philo.org gereed of iets soortgelyks. Die + OK dui aan dat alles â € "OK is. Die negatiewe ekwivalent daarvan is -ERR , wat beteken dat iets verkeerd gegaan het. Miskien het u e-poskliënt u reeds een van hierdie negatiewe bedienerantwoorde getoon.

Aanmeld

Noudat die bediener ons begroet het, moet ons aanmeld deur gebruik te maak van ons gebruikersnaam (kom ons veronderstel die gebruikersnaam is "peloton"; wat die bediener sê is kursief gedruk):

+ OK pop.philo.org gereed
USER peloton

Aangesien 'n gebruiker met hierdie naam bestaan, reageer die POP-bediener met + OK en miskien 'n bietjie gibberish waaroor ons nie regtig omgee nie. As daar nie so 'n gebruiker op die bediener was nie, sou dit natuurlik ons ​​paniekerig maak met -ERR gebruiker onbekend .

Om die verifikasie volledig te maak, moet ons ook ons ​​wagwoord gee. Dit word gedoen met die "slaag" opdrag:

+ OK stuur jou wagwoord
slaag noplato

As ons die wagwoord korrek invoer, reageer die bediener met + OK groot wagwoord of wat ook al die programmeerder van die POP-bediener in gedagte gehad het. Die belangrike deel is weer die + OK . Ongelukkig kan wagwoorde ook verkeerd wees. Die bediener let op dit met 'n droë -ERR gebruikersnaam en wagwoord stem nie ooreen nie (asof jy jou gebruikersnaam as jou wagwoord gebruik).

As alles goed gegaan het, is ons egter verbind met die bediener en dit weet wie ons is, dus ons is gereed om die nuutgevonde pos te kyk.

Jy het 'n e-pos!

Nadat ons suksesvol aangemeld is by ons POP-rekening by die bediener, kan ons eers weet of daar nuwe pos is en dan moontlik hoeveel.

Die opdrag wat gebruik word om hierdie basiese posbus statistieke te herwin, is STAT .

'N moontlike bediener reaksie sal wees + OK 18 67042 . In hierdie geval maak dit saak wat volg die + OK- teken. Onmiddellik volg die aantal boodskappe in die brievenbus, dan word die grootte van die brievenbus in octetten geskei ('n octet is 8 bits).

STAT
+ OK 18 67042

As daar geen pos is nie, reageer die bediener met + OK 0 0 . Aangesien daar 18 nuwe boodskappe op die bediener is, kan ons dit egter gebruik deur die LIST- opdrag te gebruik. As gevolg hiervan, die bediener lys die boodskappe in die volgende formaat:

LYS
+ OK 18 boodskappe (67042 octets)
1 2552
2 3297
...
18 3270
.

Die boodskappe word een op 'n slag genoteer, elk gevolg deur die grootte daarvan in oktete. Die lys eindig met 'n tydperk op 'n lyn op sigself.

Die LIST-opdrag kan die nommer van 'n boodskap as 'n opsionele argument, byvoorbeeld LYS 2, neem . Die bediener se reaksie op hierdie versoek sou wees + OK 2 3297 , die boodskapnommer gevolg deur die grootte van die boodskap. As jy probeer om 'n boodskap te lys wat nie bestaan ​​nie, soos LIST 23 , toon die bediener geen verbeelding nie en sê: -ERR geen sodanige boodskap nie .

Die Groot Haal (En Skrap)

Noudat ons weet hoeveel boodskappe in ons rekening is en hoe groot hulle is, is dit uiteindelik tyd om hulle te kry, sodat ons dit ook kan lees.

Nou, nadat ons uitgevind het of ons nuwe pos het, kom die regte ding. Die boodskappe word een vir een opgehaal met hul boodskapnommer as 'n argument vir die RETR- opdrag.

Die bediener reageer met 'n + OK en die boodskap soos dit is, in veelvuldige lyne. Die boodskap word deur 'n tydperk op 'n lyn op sigself beëindig. Byvoorbeeld:

RETR 1
+ OK 2552 octets
Blah!
.

As ons probeer om 'n boodskap te kry wat nie bestaan ​​nie, kry ons -ERR geen sodanige boodskap nie .

Nou kan ons die boodskap uitvee met die DELE- opdrag. (Ons kan natuurlik ook die boodskap verwyder sonder om dit terug te kry as dit een van daardie dae is).

Dit is goed om te weet dat die bediener nie die boodskap dadelik sal spoel nie. Dit word slegs gemerk vir skrapping. Werklike verwydering gebeur net as ons die verbinding met die bediener gereeld beëindig. So sal geen e-pos ooit verlore gaan as die verbinding skielik sterf nie, byvoorbeeld.

Die bediener se reaksie op die DELE- opdrag is + OK boodskap geskrap :

DELE 1
+ OK boodskap 1 verwyder

As dit inderdaad een van daardie dae is en ons 'n boodskap vir die verwydering wat ons nie wil verwyder nie, gemerk is, is dit moontlik om alle boodskappe te herstel deur die skrapping punte te herstel. Die RSET opdrag gee die posbus terug na die toestand waarin dit was voordat ons ingeteken het.

Die bediener reageer met 'n + OK en moontlik die aantal boodskappe:

RSET
+ OK 18 boodskappe

Nadat ons al die boodskappe opgehaal en uitgevee het, is dit tyd om afskeid te neem met die QUIT- opdrag. Dit sal die boodskappe wat gemerk is vir die verwydering skoonmaak en die verbinding sluit. Die bediener reageer met + OK en 'n afskeid boodskap:

QUIT
+ OK dag, dag

Dit is moontlik dat die bediener nie 'n boodskap kon verwyder nie. Dan sal dit reageer met 'n fout soos -ERR-boodskap 2 nie verwyder nie .