Kā pāradresēt pastu, izmantojot pasta nodaļas protokolu

Ainas aiz sevis skatieties pasta sūtīšanu, izmantojot pasta nodaļas protokolu

Pasta protokols (POP), ko izmanto pasta atgūšanai no attālā servera, ir ļoti vienkāršs protokols. Tas pamatfunkciju nosaka vienkāršā veidā un ir viegli īstenojams. Protams, tas ir arī viegli saprotams.

Noskaidrosim, kas notiek aiz ainas, kad jūsu e-pasta programma ielādē pastu POP kontā. Pirmkārt, tam ir nepieciešams savienojums ar serveri.

Sveiki, tas ir man

Parasti POP serveris klausās ienākošo savienojumu 110. ostā . Pēc savienojuma ar POP klientu (jūsu e-pasta programmu), tas, cerams, atbildēs ar + OK pop.philo.org gatavs vai kaut kas līdzīgs. + OK norāda, ka viss ir "OK". Tās negatīvā ekvivalents ir -ERR , kas nozīmē, ka kaut kas ir kļūdījies. Varbūt jūsu e-pasta klients jau ir parādījis vienu no šīm negatīvām servera atbildēm.

Pieteikšanās ieslēgta

Tagad, kad serveris ir mūs sveicinājis, mums ir jāpiesakās, izmantojot mūsu lietotājvārdu (pieņemsim, ka lietotājvārds ir "vads", ko serveris saka, ir drukāts kursīvā):

+ OK pop.philo.org gatavs
USER vads

Tā kā lietotājs ar šo nosaukumu eksistē, POP serveris reaģē ar + OK, un varbūt daži slikti, par kuriem mums īsti nav rūp. Ja serverī nebūtu šāda lietotāja, tas, protams, padarītu mūs paniku ar -ERR lietotāju nezināmu .

Lai pabeigtu autentifikāciju, mums arī jānorāda mūsu parole. To dara ar komandu "pass":

+ Labi nosūtiet savu paroli
iziet noplato

Ja mēs pareizi ierakstām paroli, serveris reaģē ar + OK labu paroli vai neatkarīgi no POP servera programmētāja prātā. Svarīga daļa atkal ir + OK . Diemžēl paroles var būt arī nepareizas. Serveris atzīmē to ar sausu -ERR lietotājvārdu un parole nesakrīt (it kā jūs izmantotu savu lietotājvārdu kā savu paroli).

Tomēr, ja viss ir kārtībā, mēs esam izveidojuši savienojumu ar serveri un zina, kas mēs esam, tādēļ mēs esam gatavi paskatīties uz tikko ierastu pastu.

Jūs saņēmāt vēstuli!

Pēc tam, kad mēs esam veiksmīgi pieteicies mūsu POP kontā serverī, vispirms mēs vēlamies uzzināt, vai vispār ir jauns pasts un, iespējams, cik daudz.

Šī pamata pastkastes statistikas iegūšanai izmantotā komanda ir STAT .

Iespējamā servera atbilde būtu + OK 18 67042 . Šajā gadījumā tas attiecas uz to, kas seko zīmei + OK . Tūlīt pēc tam ir ziņu skaits pastkastē, pēc tam, atdalot ar atstarpi, pastkastes lielums ir redzams oktetos (oktets ir 8 biti).

STAT
+ OK 18 67042

Ja nav pasta, serveris reaģē ar + OK 0 0 . Tā kā serverī ir 18 jauni ziņojumi, mēs varam tos uzskaitīt, izmantojot komandu LIST . Atbildot uz to, serveris uzskaita ziņojumus šādā formātā:

SARAKSTS
+ Labi 18 ziņojumi (67042 okiti)
1 2552
2 3297
...
18 3270
.

Ziņojumi tiek uzskaitīti pa vienam vienlaikus, katrs seko tā lielumam octetos. Saraksts pats par sevi beidzas ar periodu uz līnijas.

LIST komanda var ņemt ziņojuma numuru kā izvēles argumentu, piemēram, LIST 2 . Servera atbilde uz šo pieprasījumu būtu + OK 2 3297 , ziņojuma numurs, kam seko ziņojuma lielums. Ja mēģināt uzskaitīt neeksistējošu ziņojumu, piemēram, LIST 23 , serveris nerada iztēli un saka: -ERR nav šādas ziņas .

Lielais atgūšana (un dzēšana)

Tagad, kad mēs zinām, cik daudz ziņu ir mūsu kontā un cik lieli tie ir, visbeidzot ir laiks tos izgūt, lai mēs arī varētu tos izlasīt.

Tagad, noskaidrojot, vai mums ir jauni e-pasta ziņojumi, patiesībā nāk. Ziņas tiek ielādētas pa vienam ar to ziņojuma numuru kā arguments RETR komandai.

Serveris reaģē ar + OK un ziņu, kā tas ir, vairākās rindās. Ziņojums tiek pārtraukts par rindiņu pa laikam. Piemēram:

RETR 1
+ Labi 2552 ocenti
Blah!
.

Ja mēs cenšamies iegūt ziņojumu, kas neeksistē, mēs saņemam -ERR šādu ziņojumu .

Tagad mēs varam izdzēst ziņojumu, izmantojot DELE komandu. (Protams, mēs varam izdzēst ziņu, ja tā nav izgājusi, ja tā ir viena no šīm dienām).

Ir labi zināt, ka serveris nekavējoties neizdzēsīs ziņojumu. Tas ir tikai atzīmēts kā dzēsts. Faktiskais dzēšana notiek tikai tad, ja mēs regulāri pārtraucam savienojumu ar serveri. Tāpēc, piemēram, pēkšņi savienojums pēkšņi nemirst nevienu pastu.

Servera atbilde uz DELE komandu ir + Laba ziņa izdzēsta :

DELE 1
+ Laba ziņa 1 izdzēsta

Ja patiešām ir viena no šīm dienām, un mēs esam atzīmējuši ziņojumu par dzēšanu, kuru mēs nevēlamies izdzēst, ir iespējams atcelt visus paziņojumus, atiestatot dzēšanas zīmes. RSET komanda atdod pastkastīti tajā stāvoklī, kurā tā bija, pirms mēs pieteicāmies.

Serveris reaģē ar + OK un, iespējams, ziņu skaitu:

RSET
+ Labi 18 ziņojumi

Pēc tam, kad mēs esam izgājuši un izdzēsuši visus ziņojumus, ir pienācis laiks atvadīties, izmantojot komandu QUIT . Tas izdzēs ziņojumus, kas atzīmēti dzēšanai, un aizver savienojumu. Serveris reaģē ar + OK un atvadu ziņojumu:

QUIT
+ Labi, atvainojiet

Iespējams, ka serveris nevarēja dzēst ziņojumu. Tad tā atbildēs ar kļūdu, piemēram, -ERR ziņu 2, kas nav dzēsts .