Postin hakeminen Post Office -protokollan kautta toimii

Kulissien takana Katso postin hakeminen Post Office -protokollan kautta

Post Office Protocol (POP), joka hakee sähköpostia etäpalvelimelta, on hyvin yksinkertainen protokolla. Se määrittää perustoiminnot suoraviivaisesti ja on helppo toteuttaa. Tietenkin se on myös helppo ymmärtää.

Selvitetään, mitä tapahtuu kulissien takana, kun sähköpostiohjelma hakee sähköpostin POP-tilillä. Ensinnäkin sen pitää muodostaa yhteys palvelimeen.

Hei, se on minulle

Yleensä POP-palvelin kuuntelee porttia 110 tulevia yhteyksiä varten. Kun yhteys POP-asiakasohjelmaan (sähköpostiohjelmasi), se toivottavasti vastaa + OK pop.philo.orgin valmis tai jotain vastaavaa. + OK tarkoittaa, että kaikki on OK. Sen negatiivinen ekvivalentti on -ERR , mikä tarkoittaa, että jotain on mennyt vikaan. Ehkä sähköpostiasiakkaasi on jo näyttänyt sinulle yhden näistä negatiivisista palvelimen vastauksista.

Kirjaudutaan sisään

Nyt kun palvelin on toivonut meille, meidän on kirjauduttava sisään käyttäjätunnuksella (oletetaan, että käyttäjätunnus on "platoon" ja mitä palvelin sanoo kirjoitettuna kursiivilla):

+ OK pop.philo.org valmis
USER-jono

Koska käyttäjä, jolla on tämä nimi, on olemassa, POP-palvelin vastaa + OK: lla ja ehkä jotain häirinnästä, jota emme todellakaan välitä. Jos palvelimella ei ollut tällaista käyttäjää, se tietenkin saisi meidät paniikiksi -ERR-käyttäjän tuntemattomalla tavalla .

Jotta autentikointi olisi valmis, meidän on annettava salasanamme. Tämä tehdään pass-komennolla:

+ OK lähetä salasanasi
pass noplato

Jos kirjoitamme salasanan oikein, palvelin vastaa + OK: n suurella salasanalla tai mitä tahansa POP-palvelimen ohjelmoijasta. Tärkeä osa on taas + OK . Valitettavasti salasanat voivat myös olla väärin. Palvelin toteaa, että kuiva -ERR-käyttäjätunnus ja salasana eivät täsmää (kuten jos käytät käyttäjänimeäsi salasanana).

Jos kaikki meni kunnolla, olemme yhteydessä palvelimeen ja tiedämme, kuka olemme, joten olemme valmiit hiljentämään vasta saapuneen postin.

Sinulla on posti!

Kun olemme kirjautuneet sisään POP-tilillämme palvelimelle, voimme ensin haluta tietää, onko uutta postia lainkaan ja sitten kuinka paljon.

Komento, jota käytetään näiden peruspostilaatikkotilastojen hakemiseen, on STAT .

Mahdollinen palvelimen vastaus olisi + OK 18 67042 . Tässä tapauksessa ei ole väliä, mitä seuraa + OK- merkki. Välittömästi seuraava on postilaatikoissa olevien viestien määrä, ja sitten välilyönnillä erotetaan postilaatikon koko ottetekteissä (oktetti on 8 bittiä).

STAT
+ OK 18 67042

Jos posti ei ole, palvelin vastaa + OK 0 0: lla . Koska palvelimella on 18 uutta viestiä, voimme kuitenkin luetella ne LIST- komennolla. Vastauksena palvelin luettaa viestit seuraavassa muodossa:

LISTA
+ OK 18 viestiä (67042 oktettia)
1 2552
2 3297
...
18 3270
.

Viestit luetellaan yksi kerrallaan, joista kukin seuraa sen koko oktekteissä. Luettelo päättyy jaksolla linjalla itsessään.

LIST-komento voi ottaa viestin numeron valinnaisena argumenttina, esimerkiksi LIST 2 . Palvelimen vastaus tähän pyyntöön olisi + OK 2 3297 , sanoman numero ja sen jälkeen sanoman koko. Jos yrität luetella sellaista viestiä, jota ei ole olemassa, kuten LIST 23 , palvelin ei näytä mielikuvitusta ja sanoo: -ERR ei ole tällaista viestiä .

Big Retrieve (ja poista)

Nyt kun tiedämme, kuinka monta viestiä tilillämme on ja kuinka suuret ovat, on lopulta aika hakea ne, jotta voimme myös lukea ne.

Nyt, kun olemme selvittäneet, onko meillä uutta postia, tulee todellinen asia. Viestit haetaan yksi kerrallaan viestinumerolla RETR- komennolla.

Palvelin vastaa + OK: llä ja viestillä sellaisenaan useammalla rivillä. Viesti päätetään jaksolla linjalla itsestään. Esimerkiksi:

RETR 1
+ OK 2552 oktettia
Blah!
.

Jos yritämme saada viestin, jota ei ole olemassa, meillä ei ole tällaista viestiä .

Nyt voimme poistaa viestin DELE- komennolla. (Voimme tietysti myös poistaa viestin ottamatta sitä, jos se on yksi niistä päivistä).

On hyvä tietää, että palvelin ei puhdista viestiä välittömästi. Se on vain merkitty poistettavaksi. Todellinen poisto tapahtuu vain, jos lopetamme säännöllisesti yhteyden palvelimeen. Joten mikään sähköposti ei kadota, jos yhteys esimerkiksi yhtäkkiä kuolee.

Palvelimen vastaus DELE- komentoon on + OK-viesti poistettu :

DELE 1
+ OK-viesti 1 poistettu

Jos se on todellakin yksi näistä päivistä, ja olemme merkinneet poistamisviestin, jota emme halua poistaa, kaikkien viestien palauttaminen palauttamalla poistomerkit. RSET- komento palauttaa postilaatikon tilaan, johon se oli, ennen kuin kirjaudut sisään.

Palvelin vastaa + OK: lla ja mahdollisesti viestien määrällä:

RSET
+ OK 18 viestiä

Kun olemme noutaneet ja poistaneet kaikki viestit, on aika sanoa hyvästit QUIT- komennolla. Tämä tyhjentää poistettavaksi merkityt viestit ja sulkee yhteyden. Palvelin vastaa + OK: llä ja jäähyväisviestillä:

LOPETTAA
+ OK bye, bye

On mahdollista, että palvelin ei voinut poistaa viestiä. Sitten se reagoi virheen kanssa, kuten -ERR-viesti 2, jota ei ole poistettu .