Ფოსტის მიღება ფოსტის პროტოკოლის მეშვეობით

უკან სცენები შეხედეთ ფოსტის მიღებას ფოსტის მეშვეობით

ფოსტის პროტოკოლი (POP) გამოიყენება საფოსტო სერვერისგან, რომელიც ძალიან მარტივი პროტოკოლია. იგი განსაზღვრავს ძირითადი ფუნქციონირების პირდაპირი წესით და მარტივი განხორციელება. რა თქმა უნდა, ასევე ადვილია გაგება.

მოდით გაირკვეს, თუ რა ხდება კულუარებში, როდესაც თქვენი ელფოსტა პროგრამა POP ანგარიშში ფოსტის გაგზავნის საშუალებას იძლევა. პირველი, მას სჭირდება სერვერთან დაკავშირება.

Hi, ეს მე

როგორც წესი, POP სერვერის უსმენს პორტის 110 ამისთვის შემომავალი კავშირები. POP კლიენტის (თქვენი ელ-ფოსტის პროგრამა) კავშირის შემდეგ, ის იმედია რეაგირება + OK pop.philo.org მზად ან რაღაც მსგავსი. + OK მიუთითებს, რომ ყველაფერი არის OK. მისი უარყოფითი ეკვივალენტი არის -ERR , რაც იმას ნიშნავს, რაღაც გაქრა. შესაძლოა, თქვენი ელ-ფოსტის კლიენტი უკვე გამოჩნდა ერთი უარყოფითი სერვერის პასუხი.

შემოსვლა

ახლა, რომ სერვერმა მიესალმა ჩვენ, ჩვენ უნდა შეხვიდეთ მომხმარებლის სახელით (დავუშვათ, რომ სახელი არის "ოცეული", რა სერვერზე ამბობს იბეჭდება ციტატა):

+ OK pop.philo.org მზად არის
USER ოცეული

მას შემდეგ, რაც მომხმარებელი ამ სახელით არსებობს, POP სერვერი პასუხობს + OK და შესაძლოა ზოგიერთი gibberish ჩვენ ნამდვილად არ აინტერესებს. სერვერზე ასეთი მომხმარებელი არ იყო, რა თქმა უნდა, გვაიძულებს პანიკა -ERR მომხმარებლის უცნობი .

ავტორიზაციის დასრულების მიზნით ჩვენ ასევე უნდა მივცეთ ჩვენი პაროლი. ეს კეთდება "უღელტეხილის" ბრძანებით:

+ OK გაგზავნეთ პაროლი
გაიაროს noplato

თუ სწორად ვწერ პაროლს, სერვერი პასუხობს + OK- ს დიდ პაროლს ან POP- ს სერვერის პროგრამირს. მნიშვნელოვანი ნაწილი კვლავ არის OK . სამწუხაროდ, პაროლები ასევე შეიძლება იყოს არასწორი. სერვერი აღნიშნავს, რომ ეს მშრალი- ERR მომხმარებლის სახელია და პაროლი არ ემთხვევა (თითქოს თქვენი სახელი გამოიყენეთ თქვენი სახელით).

თუ ყველაფერი კარგად მოხდა, თუმცა ჩვენ სერვერთან ვუკავშირდებით და იცის, ვინ ვართ, ამიტომ მზად ვართ ახლად ჩამოსული ფოსტის მისაღებად.

თქვენ მოგეწონათ ფოსტა!

სერვერზე ჩვენი POP ანგარიშის წარმატებით შესვლის შემდეგ, ჩვენ ჯერ უნდა გვინდა ვიცოდეთ, თუ არსებობს ახალი ფოსტა და შემდეგ რაც შეიძლება მეტი.

ბრძანება, რომელიც გამოიყენება ამ ძირითადი საფოსტო სტატისტიკის სტატისტიკას, არის STAT .

შესაძლო სერვერის პასუხი იქნებოდა + OK 18 67042 . ამ შემთხვევაში, ეს იმას ნიშნავს, რაც შემდეგნაირად + OK ნიშანი. შემდეგ დაუყოვნებლივ იგზავნება საფოსტო ყუთში მესიჯების რაოდენობა, მაშინ, რომლითაც განლაგებულია whitespace- ით, მოყვება საფოსტო ყუთის ოდენობა (octet- ს 8 ბიტი).

STAT
+ OK 18 67042

თუ არ არის ფოსტი, სერვერი პასუხობს + OK 0 0 . მას შემდეგ, რაც სერვერზე 18 ახალი შეტყობინება არსებობს, ჩვენ შეგვიძლია სიაში შევიტანოთ LIST ბრძანება. საპასუხოდ, სერვერი ჩამოთვლილ შეტყობინებებს შემდეგ ფორმატში:

სიები
+ OK 18 შეტყობინებები (67042 octets)
1 2552
2 3297
...
18 3270
.

შეტყობინებები ჩამოთვლილია ერთ დროს, თითოეული მოყვება მისი ზომა octets. სია მთავრდება დროის მიხედვით.

LIST ბრძანებას შეუძლია მიიღოს შეტყობინება ნომერი როგორც არგუმენტად, მაგალითად LIST 2 . სერვერის პასუხი ამ მოთხოვნით იქნება + OK 2 3297 , გაგზავნა ნომერი, რასაც მოჰყვება გაგზავნა. თუ სცადეთ სიაში გაგზავნა, რომელიც არ არსებობს, LIST 23- ის მსგავსად სერვერი არ წარმოუდგენია ფანტაზიას და ამბობს: "არ არის ასეთი შეტყობინება .

დიდი მიღწევა (და წაშალე)

ახლა, რამდენადაც ჩვენ ვიცით რამდენი შეტყობინებები ჩვენს ანგარიშში და რამდენად დიდია, ისინი საბოლოოდ გადაბრუნდებიან, რათა მათ წაიკითხოთ.

ახლა, თუ გავითვალისწინებთ თუ არა ჩვენ ახალი ფოსტა, მოდის რეალური რამ. შეტყობინებები იბეჭდება ერთის მიერ მათი შეტყობინების ნომრით, როგორც არგუმენტი RETR ბრძანებაში.

სერვერი პასუხობს + OK და გაგზავნა, როგორც ეს არის, მრავალჯერადი ხაზები. გაგზავნა შეწყდა პერიოდულად ხაზის მიხედვით. მაგალითად:

RETR 1
+ OK 2552 octets
ბლა!
.

თუ ჩვენ ვცდილობთ მივიღოთ გაგზავნა, რომელიც არ არსებობს, ჩვენ მივიღებთ- არ არ ასეთი გაგზავნა .

ახლა ჩვენ შეგვიძლია წაშალოთ შეტყობინება DELE ბრძანების გამოყენებით. (ჩვენ შეგვიძლია, რა თქმა უნდა, ასევე წაშლა შეტყობინებას, თუ ის არ დაბრუნებულა, თუ ეს ერთი დღეა).

კარგია, რომ სერვერი სასწრაფოდ არ გაწმენდს შეტყობინებას. ეს მხოლოდ წაშლა ხდება. ფაქტობრივი წაშლა ხდება მხოლოდ იმ შემთხვევაში, თუ ჩვენ მუდმივად შევაჩეროთ სერვერთან კავშირი. ასე რომ, ფოსტა არასოდეს დაიკარგება, თუ კავშირი მოულოდნელად კვდება, მაგალითად.

სერვერის პასუხი DELE ბრძანებაზე + OK შეტყობინება წაშლილია :

DELE 1
+ OK შეტყობინება 1 წაიშალა

თუ ეს მართლაც ერთ-ერთია და ჩვენ წაიკითხეთ შეტყობინება წაშლაზე, რომ ჩვენ არ გვინდა წაშლა, ყველა შეტყობინებების გაუქმება შესაძლებელია წაშლის ნიშნის გადატვირთვის გზით. RSET ბრძანება დააბრუნებს საფოსტო ყუთს სახელმწიფოში, სანამ ჩვენ შესვლამდე.

სერვერი პასუხობს + OK და შესაძლოა შეტყობინებების რაოდენობა:

RSET
+ OK 18 შეტყობინებები

მას შემდეგ, რაც ჩვენ ვიპოვეთ და წაიშალა ყველა წერილი, დროა ვთქვათ GoodIe გამოყენებით QUIT ბრძანება. ეს იქნება გაწმენდის შეტყობინებები, რომელიც აღინიშნება წაშლაში და დაიხურება კავშირი. სერვერი პასუხობს + OK და გამოსამშვიდობებელ შეტყობინებას:

QUIT
+ OK bye, bye

არ არის გამორიცხული, რომ სერვერს ვერ წაშალა შეტყობინება. მაშინ ის უპასუხებთ შეცდომას, როგორიცაა -ERR გაგზავნა 2 არ წაიშლება .