Dans le monde du courrier électronique, il existe de nombreuses facettes à tester, mais l’un des tests les plus élémentaires que vous pouvez faire est de simplement telnet dans un serveur SMTP donné. Ce test est utile pour déterminer si le problème le plus fondamental existe ou non.
- Le serveur est-il en place?
- Existe-t-il un pare-feu bloquant la communication?
- Le serveur de messagerie permet-il de relayer un domaine/une adresse e-mail particulier?,
- Quelles commandes SMTP le serveur de messagerie prend-il en charge?
- Le serveur répond-il avec le nom d’hôte correct?
- La connexion fonctionne-t-elle en dehors de tout logiciel ou API tiers?
Toutes ces questions et plus peuvent être répondues avec un simple test telnet.
Avant de commencer, assurez-vous d’ouvrir notre pièce compagnon à cet article: Où sont envoyés les messages de rebond? dans un nouvel onglet afin que vous puissiez le lire après avoir terminé avec ce blog.,
À titre de remarque, les commandes utilisées dans les exemples suivants (ainsi que les commandes supplémentaires) sont couvertes dans la section 4.1 de la RFC 2821.
La plupart des ordinateurs sont préinstallés avec un client telnet. Pour les versions Windows qui ne le font pas, vous pouvez en installer une en ouvrant la section « Programmes et fonctionnalités” du panneau de configuration et en sélectionnant « Activer ou désactiver les fonctionnalités Windows”. Avec cette fenêtre ouverte, sélectionnez « telnet client », puis cliquez sur OK.
Une fois qu’un client telnet a été vérifié pour être installé sur le serveur, nous devons d’abord trouver un serveur de messagerie auquel se connecter., Pour cela, nous aurons besoin de l’enregistrement DNS MX pour un domaine donné. Cela peut être trouvé avec la commande suivante (pour ces exemples port25.com sera utilisé, mais n’importe quel domaine peut être substitué):
Windows:
nslookup-type=mx port25.com
Réponse non autorisée:
port25.com Préférence MX = 100, échangeur de courrier = mail.port25.com
Linux:
nslookup-type=mx port25.com
Réponse non autorisée:
port25.com échangeur de courrier = 100 mail.port25.com.,
Ensuite, nous avons besoin du DNS PTR pour l’IP que nous allons utiliser. Nous devons d’abord savoir quelle adresse IP Internet nous considère comme ayant. Pour trouver que nous pouvons utiliser un site web comme:
Avec l’adresse IP, exécutez la commande suivante, où A. B. C. D est l’adresse IP.
Windows:
nslookup -type=ptr A. B. C. D
Non-authoritative answer:
D. C. B. A. in-addr.arpa nom = server.example.com
Linux:
nslookup -type=ptr A. B. C. D
Non-authoritative answer:
D. C. B. A.,in-addr.arpa nom = server.example.com
server.example.com est juste un exemple, et vos résultats seront différents.
Alors maintenant que nous avons l’enregistrement MX pour port25.com et le PTR pour l’IP que nous allons utiliser, il est temps de se connecter au serveur SMTP. Pour ce faire, utilisez la commande suivante:
telnet mail.port25.com 25
Quelque chose de similaire à ce qui suit devrait maintenant être affiché:
La première commande que nous devons émettre au serveur de messagerie est EHLO ou HELO., Il s’agit d’une salutation de base qui démarre la communication entre le client telnet et le serveur SMTP. Est également passé le DNS PTR pour l’adresse IP à partir de laquelle nous nous connectons comme déterminé précédemment.
EHLO server.example.com
Quelque chose de similaire à ce qui suit doit être retourné:
250-mail.port25.com dit hello250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250-8BITMIME250-XACK250-XMRG250-SIZE 54525952250-VERP250 DSN
Cela montre les commandes SMTP que le serveur SMTP accepte., Tous les serveurs SMTP ne prennent pas en charge les mêmes ensembles de commandes. Par exemple, yahoo n’affiche que les éléments suivants:
250-8BITMIME250-SIZE 41943040250 PIPELINING
Et aol n’en affiche qu’un avec:
250 DSN
La prochaine commande que nous devons émettre est le DU commandement. Cela détermine l’adresse à laquelle les rebonds sont envoyés. Ce n’est pas la même chose que l’en-tête from, qui est l’adresse e-mail affichée dans un client de messagerie.
COURRIER DE: <[email protected]>250 2.1.,0 MAIL ok
Maintenant que la commande MAIL FROM a été envoyée, nous pouvons envoyer la commande RCPT TO. Cette commande indique au serveur de messagerie SMTP à qui le message doit être envoyé. Cela peut être identique ou différent de l’en-tête to, qui est l’adresse e-mail affichée dans le client de messagerie.
RCPT to: <[email protected]>250 2.1.5 <[email protected]> ok
La dernière commande à exécuter avant de commencer le corps du message est la commande de DONNÉES., Cette commande permet au serveur de messagerie SMTP de savoir que tout le reste à envoyer est le corps du message (qui contient également les en-têtes).
DATA354 envoyer un message
Il est important de noter que si un serveur de messagerie prend en charge le PIPELINING, comme mail.port25.com le serveur de messagerie SMTP peut attendre que la commande DATA soit émise avant de répondre à d’autres commandes après EHLO/HELO. Dans ce cas, entrez les commandes MAIL FROM, RCPT TO et DATA avant d’attendre une réponse.,
Maintenant que la commande DATA a été envoyée, nous pouvons commencer à envoyer le contenu du message. Cela commence par les différents en-têtes. Au minimum, un message doit contenir un en-tête to, from, subject et date. Les en-têtes saisis ici seront affichés à l’utilisateur dans son client de messagerie.
Avec les en-têtes définis, nous ajoutons maintenant une ligne vierge avec un retour chariot / saut de ligne (appuyez simplement deux fois sur Entrée), puis nous démarrons le corps réel du message.
Bonjour Tout le monde,Il s'agit d'un message de test envoyé à partir d'une session telnet manuelle.,Le vôtre vraiment, administrateur SMTP
Avec le message terminé, nous devons dire au serveur SMTP que nous avons terminé avec le message et que le serveur de messagerie SMTP l’accepte. Cela se fait avec un point sur une ligne par lui-même. Si lors de l’écriture d’un message une période sur une ligne par elle-même est nécessaire, vous devez mettre 2 périodes, la première échappant à la seconde.
. 250 2.6.0 message reçu
Enfin, la commande QUIT est envoyée pour fermer la connexion:
QUIT221 2.0.0 mail.port25.,com dit au revoir
Avec que le serveur de messagerie a maintenant accepté le message pour la livraison, et il devrait être assis dans la boîte de réception du RCPT À l’adresse!!!
Voici la liste des commandes sans interruption:
~ Scott