Paano Kumukuha ng Mail Sa pamamagitan ng Mga Post Office Protocol Works

Isang Likod ng Mga Eksena Tumingin sa Kinukuha ang Mail Sa pamamagitan ng Post Office Protocol

Ang Post Office Protocol (POP) na ginamit upang kunin ang mail mula sa isang remote server ay isang napaka-simpleng protocol. Tinutukoy nito ang pangunahing pag-andar sa isang tapat na paraan at madaling ipatupad. Siyempre, madali din itong maunawaan.

Alamin kung ano ang nangyayari sa likod ng mga eksena kapag nakukuha ng iyong email program ang mail sa isang POP account. Una, kailangan itong kumonekta sa server.

Hi, Ito ang Akin

Karaniwan, ang POP server ay nakikinig sa port 110 para sa mga papasok na koneksyon. Sa koneksyon mula sa isang POP client (ang iyong program sa email), ito ay inaasahan na tumugon sa + OK na pop.philo.org handa o katulad na bagay. Ang + OK ay nagpapahiwatig na ang lahat ay â € "OK. Ang negatibong katumbas nito ay -ERR , na ang ibig sabihin ay may mali. Siguro ang iyong email client ay nagpakita sa iyo ng isa sa mga negatibong sagot ng server.

Nagla-log

Ngayon na binati kami ng server, kailangan naming mag-log on gamit ang aming username (ipagpalagay natin na ang username ay "platun"; ang sinasabi ng server ay naka-print sa mga italics):

+ OK na pop.philo.org na handa
Platun ni USER

Dahil ang isang user na may ganitong pangalan ay umiiral, ang POP server ay tumugon sa + OK at marahil ang ilang mga walang kuwenta ay hindi namin talagang nagmamalasakit. Kung wala ang ganoong gumagamit sa server, siyempre, ito ay gagawin sa amin ng panic na may -GERR user na hindi kilala .

Upang makumpleto ang pagpapatunay kailangan din naming ibigay ang aming password. Ito ay ginagawa sa "pass" command:

+ OK ipadala ang iyong password
pumasa noplato

Kung tama naming i-type ang password, tumugon ang server sa + mahusay na mahusay na password o kahit anong programmer ng POP server na nasa isip. Ang mahalagang bahagi muli ay ang + OK . Sa kasamaang palad, maaari ding mali ang mga password. Ang tala ng server ay hindi tumutugma sa isang dry -ERR username at password (tulad ng kung gagamitin mo ang iyong username bilang iyong password).

Kung lahat ng bagay ay pumapaling, gayunpaman, kami ay nakakonekta sa server at nakakaalam kung sino tayo, sa gayon ay handa na kaming silipin ang bagong dating na mail.

Nakuha mo ang Mail!

Matapos kaming matagumpay na naka-log in sa aming POP account sa server, maaaring gusto naming malaman muna kung mayroong bagong mail at posibleng magkano.

Ang utos na ginamit upang mabawi ang mga istatistika ng pangunahing mailbox ay STAT .

Ang isang posibleng tugon ng server ay magiging + OK 18 67042 . Sa kasong ito, mahalaga kung ano ang sumusunod sa OK + sign. Kaagad na sumusunod ang bilang ng mga mensahe sa mailbox, pagkatapos, na pinaghihiwalay ng isang whitespace, ay may laki ng mailbox sa mga octet (isang octet ay 8 bits).

STAT
+ OK 18 67042

Kung walang mail, ang server ay tumugon sa + OK 0 0 . Dahil may 18 bagong mga mensahe sa server, gayunpaman, maaari naming ilista ang mga ito gamit ang LIST command. Bilang tugon, inililista ng server ang mga mensahe sa sumusunod na format:

LIST
+ OK 18 mga mensahe (67042 octets)
1 2552
2 3297
...
18 3270
.

Ang mga mensahe ay nakalista nang paisa-isa, bawat isa ay sinusundan ng laki nito sa mga octet. Ang listahan ay nagtatapos sa isang panahon sa isang linya mismo.

Ang LIST command ay maaaring tumagal ng bilang ng isang mensahe bilang isang opsyonal na argument, LIST 2 halimbawa. Ang tugon ng server sa kahilingan na ito ay magiging OK 2 3297 , ang numero ng mensahe na sinusundan ng laki ng mensahe. Kung susubukan mong ilista ang isang mensahe na hindi umiiral, tulad ng LIST 23 , ang server ay hindi nagpapakita ng imahinasyon at nagsasabi: -ERR walang gayong mensahe .

Ang Big Retrieve (At Tanggalin)

Ngayon na alam namin kung gaano karami ang mga mensahe sa aming account at kung gaano kalaki ang mga ito, sa wakas ay oras na upang makuha ang mga ito upang mabasa namin rin ang mga ito.

Ngayon, pagkatapos malaman kung mayroon tayong bagong mail, dumating ang tunay na bagay. Ang mga mensahe ay nakuha isa-isa sa kanilang numero ng mensahe bilang isang argumento sa RETR command.

Ang server ay tumugon sa isang + OK at ang mensahe tulad ng ito, sa maramihang mga linya. Ang mensahe ay tinapos ng isang panahon sa isang linya mismo. Halimbawa:

RETR 1
+ OK 2552 octets
Blah!
.

Kung susubukan naming makakuha ng mensahe na hindi umiiral, makakakuha kami ng -ERR walang gayong mensahe .

Ngayon ay maaari naming tanggalin ang mensahe gamit ang DELE command. (Maaari naming, siyempre, tanggalin din ang mensahe nang hindi nakuha ito kung ito ay isa sa mga araw na iyon).

Mahalagang malaman na ang server ay hindi lilinisin agad ang mensahe. Ito ay minarkahan lamang para sa pagtanggal. Ang aktwal na pagtanggal ay nangyayari lamang kung regular nating tapusin ang koneksyon sa server. Kaya walang mail ang mawawala kung ang koneksyon ay biglang namatay, halimbawa.

Ang tugon ng server sa DELE command ay + OK na mensahe tinanggal :

DELE 1
+ OK na mensahe 1 tinanggal

Kung talagang isa sa mga araw na iyon at namarkahan namin ang isang mensahe para sa pagtanggal na hindi namin nais na matanggal, posible na tanggalin ang lahat ng mensahe sa pamamagitan ng pag-reset ng mga marka ng pagtanggal. Ang utos ng RSET ay nagbabalik ng mailbox sa estado na nasa bago kami naka-log in.

Ang server ay tumugon sa isang + OK at marahil ang bilang ng mga mensahe:

RSET
+ OK 18 mensahe

Pagkatapos naming makuha at tanggalin ang lahat ng mga mensahe na oras na magpaalam sa paggamit ng command na QUIT . Tatanggalin nito ang mga mensahe na minarkahan para sa pagtanggal at isara ang koneksyon. Ang server ay tumugon sa + OK at isang paalam na mensahe:

Quit
+ OK hindi, bye

Posible na hindi ma-delete ng server ang isang mensahe. Pagkatapos ay tutugon ito sa isang error na tulad ng -ERR message 2 hindi tinanggal .