Πώς γίνεται η λήψη αλληλογραφίας μέσω του πρωτοκόλλου Post Office

A Behind the Scenes Κοιτάξτε τη λήψη μηνυμάτων μέσω του πρωτοκόλλου Post Office

Το πρωτόκολλο Post Office (POP) που χρησιμοποιείται για την ανάκτηση αλληλογραφίας από απομακρυσμένο διακομιστή είναι ένα πολύ απλό πρωτόκολλο. Ορίζει τη βασική λειτουργικότητα με απλό τρόπο και είναι εύκολο να εφαρμοστεί. Φυσικά, είναι επίσης εύκολο να καταλάβουμε.

Ας μάθουμε τι συμβαίνει πίσω από τις σκηνές όταν το πρόγραμμα ηλεκτρονικού ταχυδρομείου σας ανακτά τα μηνύματα σε έναν λογαριασμό POP. Πρώτον, πρέπει να συνδεθεί με το διακομιστή.

Γεια σας, είμαι εγώ

Συνήθως, ο διακομιστής POP ακούει τη θύρα 110 για τις εισερχόμενες συνδέσεις. Με τη σύνδεση από έναν πελάτη POP (το πρόγραμμα ηλεκτρονικού ταχυδρομείου σας), ελπίζουμε να απαντήσετε με το + OK pop.philo.org έτοιμο ή κάτι παρόμοιο. Το + ΟΚ δείχνει ότι όλα είναι "Εντάξει". Το αρνητικό ισοδύναμό του είναι -ERR , πράγμα που σημαίνει ότι κάτι έχει πάει στραβά. Ίσως ο πελάτης ηλεκτρονικού ταχυδρομείου σας έχει ήδη δείξει μία από αυτές τις αρνητικές απαντήσεις διακομιστή.

Συνδεθείτε

Τώρα που ο διακομιστής μας έχει χαιρετήσει, πρέπει να συνδεθούμε χρησιμοποιώντας το username μας (ας υποθέσουμε ότι το όνομα χρήστη είναι "platoon", αυτό που λέει ο διακομιστής με πλάγια γραφή):

+ ΟΚ pop.philo.org έτοιμο
ΠΕΛΑΤΗ USER

Επειδή ένας χρήστης με αυτό το όνομα υπάρχει, ο διακομιστής POP ανταποκρίνεται με + ΟΚ και ίσως κάποιοι gibberish που δεν μας ενδιαφέρουν πραγματικά. Εάν δεν υπήρχε τέτοιος χρήστης στο διακομιστή, αυτό φυσικά θα μας έκανε να πανικοβάλλουμε με τον χρήστη -ERR άγνωστο .

Για να ολοκληρωθεί ο έλεγχος ταυτότητας πρέπει επίσης να δώσουμε τον κωδικό πρόσβασής μας. Αυτό γίνεται με την εντολή "pass":

+ OK στέλνετε τον κωδικό πρόσβασής σας
pass noplato

Εάν πληκτρολογήσουμε σωστά τον κωδικό πρόσβασης, ο διακομιστής απαντά με μεγάλο κωδικό πρόσβασης + OK ή ό, τι είχε ο προγραμματιστής του εξυπηρετητή POP. Το σημαντικό μέρος είναι πάλι το + ΟΚ . Δυστυχώς, οι κωδικοί πρόσβασης μπορεί επίσης να είναι λάθος. Ο διακομιστής σημειώνει αυτό το μήνυμα με ένα ξηρό όνομα χρήστη και κωδικό πρόσβασης για το χρήστη -ERR δεν ταιριάζουν (σαν να χρησιμοποιούσατε το όνομα χρήστη ως κωδικό πρόσβασής σας).

Εάν όλα πήγαν καλά, όμως, είμαστε συνδεδεμένοι με το διακομιστή και ξέρει ποιοι είμαστε, έτσι είμαστε έτοιμοι να ρίξουμε μια ματιά στο νέο ταχυδρομείο.

Έχετε μηνύματα ηλεκτρονικού ταχυδρομείου!

Αφού συνδεθήκαμε επιτυχώς στον λογαριασμό μας POP στο διακομιστή, ίσως πρώτα να θέλουμε να μάθουμε αν υπάρχει νέο μήνυμα και, στη συνέχεια, πόσο.

Η εντολή που χρησιμοποιείται για την ανάκτηση αυτών των βασικών στατιστικών γραμματοκιβωτίων είναι STAT .

Μια πιθανή απάντηση διακομιστή θα ήταν + OK 18 67042 . Σε αυτή την περίπτωση, έχει σημασία τι ακολουθεί το σύμβολο + ΟΚ . Αμέσως μετά είναι ο αριθμός των μηνυμάτων στο γραμματοκιβώτιο και, στη συνέχεια, χωρίζονται με ένα κενό διάστημα, έρχεται το μέγεθος του γραμματοκιβωτίου σε οκτάδες (μια οκτάδα είναι 8 bits).

STAT
+ ΟΚ 18 67042

Εάν δεν υπάρχει αλληλογραφία, ο διακομιστής αποκρίνεται με + ΟΚ 0 0 . Δεδομένου όμως ότι υπάρχουν 18 νέα μηνύματα στον εξυπηρετητή, μπορούμε να τα απαριθμήσουμε χρησιμοποιώντας την εντολή LIST . Σε απάντηση, ο διακομιστής παραθέτει τα μηνύματα με την ακόλουθη μορφή:

ΛΙΣΤΑ
+ OK 18 μηνύματα (67042 οκτάδες)
1 2552
2 3297
...
18 3270
.

Τα μηνύματα παρατίθενται μία φορά τη φορά, ακολουθούμενη από το μέγεθος σε οκτάδες. Ο κατάλογος τελειώνει με μια περίοδο σε μια γραμμή από μόνη της.

Η εντολή LIST μπορεί να πάρει τον αριθμό ενός μηνύματος ως προαιρετικό όρισμα, για παράδειγμα το LIST 2 . Η απάντηση του διακομιστή σε αυτό το αίτημα θα είναι + ΟΚ 2 3297 , ο αριθμός του μηνύματος που ακολουθείται από το μέγεθος του μηνύματος. Εάν προσπαθήσετε να καταχωρήσετε ένα μήνυμα που δεν υπάρχει, όπως το LIST 23 , ο διακομιστής δεν δείχνει φαντασία και λέει: -ΕΚ δεν υπάρχει τέτοιο μήνυμα .

Η μεγάλη ανάκτηση (και διαγραφή)

Τώρα που γνωρίζουμε πόσα μηνύματα είναι στο λογαριασμό μας και πόσο μεγάλα είναι, είναι τελικά η ώρα να τα ανακτήσουμε, ώστε να τα διαβάσουμε και εγώ.

Τώρα, αφού μάθουμε αν έχουμε νέα αλληλογραφία, έρχεται το πραγματικό πράγμα. Τα μηνύματα ανακτώνται ένα προς ένα με τον αριθμό μηνύματός τους ως όρισμα στην εντολή RETR .

Ο διακομιστής ανταποκρίνεται με ένα + ΟΚ και το μήνυμα ως έχει, σε πολλές γραμμές. Το μήνυμα τερματίζεται από μια περίοδο σε μια γραμμή από μόνη της. Για παράδειγμα:

RETR 1
+ ΟΚ 2552 οκτάδες
Μπλε!
.

Εάν προσπαθήσουμε να λάβουμε ένα μήνυμα που δεν υπάρχει, θα έχουμε -ERR κανένα τέτοιο μήνυμα .

Τώρα μπορούμε να διαγράψουμε το μήνυμα χρησιμοποιώντας την εντολή DELE . (Μπορούμε φυσικά να διαγράψουμε το μήνυμα χωρίς να το ανακτήσουμε εάν είναι μία από αυτές τις μέρες).

Είναι καλό να γνωρίζουμε ότι ο διακομιστής δεν θα καθαρίσει αμέσως το μήνυμα. Είναι απλώς επισημανθεί για διαγραφή. Η πραγματική διαγραφή γίνεται μόνο εάν τερματίζουμε τακτικά τη σύνδεση στο διακομιστή. Επομένως, κανένα μήνυμα ηλεκτρονικού ταχυδρομείου δεν θα χαθεί ποτέ, αν η σύνδεση πεθαίνει ξαφνικά, για παράδειγμα.

Η απάντηση του διακομιστή στην εντολή DELE είναι + OK το μήνυμα διαγράφεται :

DELE 1
+ OK μήνυμα 1 διαγράφεται

Αν είναι πράγματι μια από εκείνες τις ημέρες και έχουμε επισημάνει ένα μήνυμα για διαγραφή ότι δεν θέλουμε να διαγραφεί, είναι δυνατή η διαγραφή όλων των μηνυμάτων επαναφέροντας τα σήματα διαγραφής. Η εντολή RSET επιστρέφει το γραμματοκιβώτιο στην κατάσταση στην οποία βρισκόταν πριν να συνδεθούμε.

Ο διακομιστής ανταποκρίνεται με ένα + ΟΚ και ενδεχομένως τον αριθμό των μηνυμάτων:

RSET
+ OK 18 μηνύματα

Αφού ανακτήσουμε και διαγράψουμε όλα τα μηνύματα, είναι ώρα να πείτε αντίο χρησιμοποιώντας την εντολή QUIT . Αυτό θα καθαρίσει τα μηνύματα που έχουν επισημανθεί για διαγραφή και θα κλείσει τη σύνδεση. Ο διακομιστής απαντά με το + ΟΚ και ένα μήνυμα αποχαιρετισμού:

ΕΓΚΑΤΑΛΕΙΠΩ
+ ΟΚ αντί, αντίο

Είναι πιθανό ο διακομιστής να μην μπόρεσε να διαγράψει ένα μήνυμα. Στη συνέχεια θα απαντήσει με ένα σφάλμα όπως το μήνυμα -ERR 2 που δεν διαγράφηκε .