SMTP Inside Out

Πώς λειτουργεί το ηλεκτρονικό ταχυδρομείο στο διαδίκτυο

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

Όταν στέλνετε μήνυμα ηλεκτρονικού ταχυδρομείου SMTP μπαίνει σε παιχνίδι. Το SMTP είναι σύντομο για το πρωτόκολλο μεταφοράς απλής αλληλογραφίας όπως ορίζεται στο RFC 5321: πρωτόκολλο μεταφοράς απλής αλληλογραφίας. Ο πελάτης ηλεκτρονικού ταχυδρομείου σας μιλάει στο διακομιστή SMTP χρησιμοποιώντας αυτήν την καθαρή και απλή διαδικασία για να λάβετε μηνύματα ηλεκτρονικού ταχυδρομείου από το ένα μέρος στο άλλο.

Το Φλερτ

Το πρόγραμμα ηλεκτρονικού ταχυδρομείου σας γίνεται πελάτης SMTP , συνδέεται με τη θύρα 25 του διακομιστή αλληλογραφίας σας (συνήθως τη θύρα SMTP ) και - λέει ο EHLO . Οι υπολογιστές, τελικά, είναι μόνο άνθρωποι και αυτό που μετράει είναι ότι θέλει να είναι ευγενικό. Στην πραγματικότητα, δεν προσπαθεί να είναι ευγενής αλλά να χρησιμοποιήσει αργότερα προσθήκες στο SMTP που έχουν επιφέρει δύο γεύσεις της μεταγενέστερης εντολής HELO (η εντολή SMTP αποτελείται γενικά από τέσσερις χαρακτήρες).

Δύο γεύσεις του HELO

Το EHLO, που είναι το πιο πρόσφατο, κάνει το διακομιστή να διαφημίζει όλες τις πρόσθετες λειτουργίες (όπως η ειδοποίηση κατάστασης παράδοσης ή η δυνατότητα μεταφοράς μηνυμάτων που περιέχουν άλλους ασφαλείς χαρακτήρες ASCII) που υποστηρίζει.

Όχι κάθε διακομιστής θα επιτρέψει αυτό το χαιρετισμό, αλλά απαιτείται να δεχτεί ένα απλό HELO το οποίο φυσικά υποθέτει ότι δεν υπάρχουν πρόσθετα χαρακτηριστικά. Και οι δύο εντολές hello απαιτούν από τον πελάτη να καθορίσει τον τομέα του μετά το ** LO, ωστόσο. Στην πράξη, αυτό μοιάζει με:

220 mail.domain.net ESMTP Server
ΓΕΙΑ
501 Η HELO απαιτεί διεύθυνση τομέα
HELO localhost
250 mail.domain.net Γεια σας localhost [127.0.0.1], χαρά να σας γνωρίσω

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

Ο αποστολέας

Το υπόλοιπο του πρωτοκόλλου αξίζει πραγματικά το χαρακτηριστικό απλό. Αν θέλετε να στείλετε ένα μήνυμα ηλεκτρονικού ταχυδρομείου, ξεκινάτε με τις λέξεις-κλειδιά MAIL FROM:. Μετά από αυτό έρχεται η διεύθυνση ηλεκτρονικού ταχυδρομείου του αποστολέα, όπως προτείνεται από το. Μην ξεχάσετε να τοποθετήσετε αγκύλες γύρω από τη διεύθυνση, αν και (όπως ). Συνεχίζοντας το παράδειγμά μας, έχουμε:

MAIL FROM:
250 αποστολέας@example.com ... Ο αποστολέας είναι εντάξει

Ο παραλήπτης

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

RCPT TO: recipient@example.com
250 support@lifewireguide.com ... Ο παραλήπτης ok (θα βρίσκεται στην ουρά)

Ότι ο διακομιστής θα βρίσκεται στην ουρά σημαίνει μόνο ότι: θα αποθηκεύσει την αλληλογραφία τοπικά και θα την αποστείλει μαζί με όλα τα άλλα αλληλογραφία σε ουρά κατά διαστήματα (για παράδειγμα, κάθε 30 λεπτά). Αυτή η συμπεριφορά εξαρτάται από τη διαμόρφωση και ο διακομιστής μπορεί επίσης να παραδώσει άμεσα το μήνυμα.

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

Το μήνυμα

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

Η εντολή για την εκκίνηση της κατάστασης που κάνει το διακομιστή να αποδεχτεί το μήνυμα είναι DATA . Ακολουθούν όλα τα πεδία επικεφαλίδας του μηνύματος ηλεκτρονικού ταχυδρομείου και στη συνέχεια το σώμα, και τα δύο αποτελούν μόνο ένα μεγάλο μπλοκ κειμένου (ή δεδομένων). Για να πείτε στο διακομιστή ότι η είσοδος τελειώνει, χρησιμοποιείται μια κουκίδα σε μια γραμμή από μόνη της (\ r \ n. \ R \ n). Γι 'αυτό στέλνω το μήνυμά μου:

ΔΕΔΟΜΕΝΑ
354 Εισάγετε αλληλογραφία, τερματίζετε με "." σε μια γραμμή από μόνη της
Αναγνωριστικό μηνύματος:
Ημερομηνία: Κυρ, 17 Αυγ 1997 18:48:15 +0200
Από: Heinz Tschabitscher
Προς: τον Heinz Tschabitscher
Θέμα: Για τον διαγωνισμό Summarize-Proust

Εκτός του κόσμου του Σουάν!
.
250 SAA19153 Μήνυμα δεκτό για παράδοση

Ναι, αυτό σημαίνει ότι μπορείτε να δηλώσετε ένα όνομα εντελώς διαφορετικό από αυτό στο οποίο μεταβαίνει το μήνυμα ηλεκτρονικού ταχυδρομείου στο πεδίο Προς :. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε τη "Κατάργηση λίστας παραλήπτη " .

Το τέλος

Τώρα μπορείτε να στείλετε όσα emails θέλετε, επαναλαμβάνοντας τα βήματα από MAIL FROM: to . . Αν τελειώσατε με αυτό, μπορείτε να κλείσετε το διακομιστή με την εντολή QUIT και αυτό είναι ακριβώς αυτό που κάνουμε:

ΕΓΚΑΤΑΛΕΙΠΩ
221 Αντίο

Πως μπορώ να το κάνω?

Η μη τετριμμένη λύση είναι η αποστολή του telnet στον διακομιστή εξερχόμενου ταχυδρομείου σας (μπορείτε να βρείτε τη διεύθυνσή του στις ρυθμίσεις του λογαριασμού του πελάτη ηλεκτρονικού ταχυδρομείου σας) στη θύρα 25.

Ο ευκολότερος τρόπος είναι να χρησιμοποιήσετε αυτό το Java applet , το οποίο προσπαθεί να μιμηθεί το πρωτόκολλο SMTP και να σας καθοδηγήσει στο παράθυρο διαλόγου.