Tester la connexion SMTP à l'aide d'une session Telnet manuelle

Publié: 2022-04-04

Les fournisseurs de serveurs tels que DigitalOcean, AWS, Vultr et d'autres bloquent le port sortant 25 de votre courrier électronique pour empêcher le spam de passer. Cependant, vous pouvez toujours leur demander de le débloquer. Si vous voulez savoir si votre port 25 a été bloqué, vous pouvez utiliser une session telnet manuelle pour tester la connexion SMTP.

Les erreurs de connexion SMTP peuvent être résolues de différentes manières, mais la ligne de commande peut les détecter directement. Telnet est généralement utilisé pour tester les échecs de connexion SMTP. Dans les étapes qui suivent, nous utiliserons Telnet pour tester le serveur de messagerie. Une partie essentielle de la configuration d'un serveur de messagerie consiste à s'assurer que SMTP fonctionne à partir de la ligne de commande (Linux).

Telnet est le moyen le plus couramment utilisé pour vérifier SMTP à partir de la ligne de commande. C'est également le moyen le plus courant de tester le relais SMTP.

Table des matières

Qu'est-ce que SMTP ?

SMTP est un protocole basé sur le texte et orienté connexion dans lequel un expéditeur de courrier se connecte à un destinataire de courrier en envoyant des chaînes de commande et en fournissant les données requises via un canal de flux de données ordonné fiable, souvent une connexion TCP (Transmission Control Protocol).

Une session SMTP est composée de commandes d'un client SMTP (l'agent initiateur, l'expéditeur ou l'émetteur) et de réponses d'un serveur SMTP (l'agent d'écoute ou le récepteur) qui lancent la session et échangent les paramètres de session. Il peut y avoir zéro ou plusieurs transactions SMTP dans une session. Trois séquences de commande/réponse constituent une transaction SMTP :

  1. Commande MAIL, également appelée chemin de retour, chemin inverse, adresse de rebond, mfrom ou expéditeur d'enveloppe, pour définir l'adresse de retour.
  2. Pour établir un destinataire de message, utilisez la commande RCPT. Cette commande peut être répétée autant de fois que nécessaire, une pour chaque destinataire. L'enveloppe contient également ces adresses.
  3. DATA pour indiquer le début du texte du message ; le contenu du message, par opposition à son enveloppe. Il se compose d'une ligne vide entre un en-tête de message et un corps de message. Le serveur répond deux fois : d'abord à l'instruction DATA elle-même, reconnaissant qu'il est prêt à recevoir le texte, et de nouveau après la séquence de fin de données, acceptant ou rejetant le message complet.

Qu'est-ce qu'une session Telnet ?

Telnet est un protocole réseau permettant d'accéder à distance à un ordinateur et d'établir un canal de communication textuel bidirectionnel et collaboratif entre deux ordinateurs.

Il crée des sessions à distance à l'aide du protocole réseau TCP/IP (Transmission Control Protocol/Internet Protocol), qui est contrôlé par l'utilisateur. Le protocole de transfert hypertexte (HTTP) et le protocole de transfert de fichiers (FTP) sur le Web permettent simplement aux utilisateurs de demander des fichiers spécifiques à partir d'ordinateurs distants, tandis que Telnet permet aux utilisateurs de se connecter en tant qu'utilisateur régulier avec les privilèges attribués aux applications et données spécifiques sur ce l'ordinateur.

Telnet est le plus couramment utilisé par les codeurs et toute personne ayant besoin d'accéder à certaines applications ou données sur un ordinateur distant.

Comment fonctionne Telnet ?

Telnet est un protocole client-serveur permettant d'ouvrir une ligne de commande sur un ordinateur distant, généralement un serveur. Cet utilitaire peut être utilisé pour cingler un port et déterminer s'il est ouvert. Telnet utilise un émulateur de connexion de terminal virtuel, qui est une instance abstraite d'une connexion informatique qui utilise des protocoles standard pour agir comme un terminal physique connecté à un système. Pour les utilisateurs qui ont besoin de communiquer des fichiers de données, FTP et Telnet peuvent être utilisés ensemble.

Telnet permet aux utilisateurs de se connecter à distance à une machine, souvent appelée Telnetting dans le système. Ils doivent fournir leur combinaison d'informations d'identification d'utilisateur pour accéder à l'ordinateur distant, ce qui leur permet d'exécuter des lignes de commande comme s'ils étaient physiquement présents sur l'ordinateur. Les adresses IP des utilisateurs correspondront à l'ordinateur auquel ils sont connectés au lieu de celui qu'ils ont utilisé pour se connecter, quel que soit leur emplacement physique.

A quoi sert Telnet ?

Telnet peut être utilisé pour effectuer une série de tâches sur un serveur, y compris l'édition de fichiers, l'exécution de programmes et la vérification des e-mails.

Certains serveurs permettent des connexions à distance via Telnet à des données publiques afin de jouer à des jeux simples ou de rechercher des prévisions météorologiques. Beaucoup de ces fonctionnalités existent parce qu'elles sont nostalgiques ou parce qu'elles sont toujours compatibles avec les systèmes antérieurs qui nécessitent certaines données.

Telnet permet également aux utilisateurs de se connecter à n'importe quel logiciel qui utilise des protocoles textuels non chiffrés, tels que des serveurs Web et des ports. Les utilisateurs peuvent ouvrir une cmd sur la machine distante et taper telnet suivi du nom ou de l'adresse IP de la machine distante, et la session telnet cinglera le port pour voir s'il est ouvert ou non. Un écran vide indique que le port est ouvert, mais un message d'erreur indiquant que le port est connecté indique qu'il est fermé.

Sécurité dans Telnet

Telnet est un protocole non sécurisé et non chiffré. N'importe qui peut afficher le nom d'utilisateur, le mot de passe et d'autres informations confidentielles saisies en texte brut lors d'une session Telnet en surveillant la connexion de l'utilisateur. Ces informations peuvent être utilisées pour accéder à l'ordinateur ciblé.

Tester la connexion SMTP à l'aide de Telnet

Nous allons d'abord effectuer quelques tests pour voir si votre port sortant 25 est ouvert ou non, dans le premier cas nous démontrerons un port SMTP 25 bloqué dans le second cas nous passerons par l'envoi d'un email en utilisant telnet.

Cas 1 : Port 25 bloqué

Sur la ligne de commande, exécutez la commande suivante (vous devez exécuter cette commande sur un serveur sur lequel vous rencontrez des problèmes de messagerie) :

 telnet <IP_ADDRESS_OF_REMOTE_MAIL_SERVER> 25

Si vous recevez un message comme "TRYING ..." et rien d'autre, cela signifie que votre port sortant 25 est bloqué et que vous ne pourrez pas envoyer d'e-mails depuis votre serveur.

Cas 2 : Lorsque le port 25 est ouvert :

Nous devons trouver un serveur de messagerie auquel se connecter si vous n'avez pas l'adresse IP du serveur de messagerie. Pour cela, nous aurons besoin de l'enregistrement DNS MX pour un domaine donné. Cela peut être trouvé avec la commande suivante

 nslookup -type=mx DOMAIN_NAME

SMTP utilise l'un des trois ports : 25, 465 ou 587, qui sont souvent utilisés par Microsoft Outlook. Si votre relais SMTP utilise un port autre que 25, vous utiliserez le port fourni dans la réponse nslookup du serveur d'échange de courrier. Vous pouvez demander à votre administrateur ou aller dans le serveur d'échange de courrier et regarder les protocoles pour voir quel port votre SMTP utilise.

Pour vous connecter au serveur SMTP :

 telnet <IP_ADDRESS_OF_MAIL_SERVER> <PORT>

Si vous êtes connecté, vous pouvez continuer à envoyer des e-mails

La commande EHLO ou HELO est la première commande que nous devons envoyer au serveur de messagerie pour notre testeur de messagerie SMTP. Il s'agit d'un message de bienvenue simple qui lance la conversation du client telnet avec le serveur SMTP.

 EHLO <NOM_DOMAINE>
tester la connexion smtp

Les commandes SMTP acceptées par le serveur SMTP sont affichées ici.

La commande MAIL FROM est la prochaine commande que nous devons vraiment exécuter. L'adresse à laquelle les rebonds sont envoyés est déterminée par cela.

 COURRIER DE : <[email protected]>

Nous pouvons maintenant envoyer la commande RCPT TO après l'émission de la commande MAIL FROM. Cette commande demande au serveur de messagerie SMTP d'envoyer le message au destinataire spécifié.

 RCPT À : <[email protected]> 

La commande DATA est la dernière commande à exécuter avant de commencer le corps du message. Cette commande informe le serveur de messagerie SMTP que le reste du message sera transmis comme corps du message.

 LES DONNÉES 

Saisissez l' Objet : <SUBJECT> et appuyez sur Retour.

Saisissez < Message de test > et appuyez sur Retour.

Lorsque le message est terminé, nous devons informer le serveur SMTP que nous en avons terminé et que nous voulons que le serveur de messagerie SMTP l'accepte. Ceci est accompli en plaçant un point sur une seule ligne. Si un point sur une seule ligne est requis lors de l'écriture d'un message, utilisez deux points, le premier échappant au second.

.

Le message OK apparaîtra, suivi d'un code d'identification. Votre message a été livré.

Revenez à la fenêtre Telnet, entrez quit pour mettre fin à la connexion au serveur SMTP, puis quittez pour mettre fin à la session Telnet.

 QUITTER 

Conclusion

Si vous terminez le test, vous pouvez être certain qu'il n'y a rien de mal avec votre serveur de messagerie ou l'adresse et les informations que vous avez utilisées pour y accéder.

Si le serveur SMTP vous a informé que l'adresse e-mail d'origine n'était pas valide, il est possible que vous l'ayez saisie de manière incorrecte. Il est également possible que quelque chose ne va pas avec votre compte de messagerie, c'est pourquoi vous ne pouvez pas le faire fonctionner dans votre nouveau client de messagerie.

Espérons que tester votre serveur SMTP via Telnet lorsque vous êtes loin de votre nouveau client de messagerie vous aidera à réduire toutes les causes possibles des problèmes de messagerie que vous rencontrez.