Création — Nicolas THOREZ 2020/03/10 16:48
Même s'il s'agit d'une ancienne technologie, telnet reste un standard dans la communication avec une machine et notamment avec les serveurs SMTP.
Pour envoyer un mail directement en ligne de commande :
# Commande telnet smtp.shyrka.sys 25 # Réponse Trying a.b.c.d... Connected to smtp.shyrka.sys. Escape character is '^]'. 220 smtp.shyrka.sys ESMTP
ESMTP précise que le serveur accepte le mode étendu du SMTP.SMTP. Les anciens serveurs (ou les moins complexes) répondent via la commande HELO alors que les plus récent (ou ceux qui supporte le mode étendu) répondent via la commande EHLO. On fera suivre la commande par le nom du serveur de messagerie du client (ici, on utilisera serveur.domaine.tld) :
# Commande EHLO serveur.domaine.tld # Réponse 250-serveur.domaine.tld Hello [e.f.g.h] 250-SIZE 26214400 250-PIPELINING 250-AUTH PLAIN LOGIN 250-STARTTLS
STARTTLS comme modèle de séécurité.AUTH LOGIN pour s'authentifier :
# Commande AUTH LOGIN # Réponse 334 VXNlcm5hbWU6
Username: en Base64. Il s'agit de l'utilisateur autorisé à se connecter. La réponse doit elle aussi être donnée en Base64 d'où le lien vers le site de chiffrement :
# Commande TW9uIGxvZ2lu # Réponse 334 UGFzc3dvcmQ6
Password: en Base64. On rentre donc le mot de passe, lui aussi en Base64 :
# Commande UEBzc3cwcmQ= # Réponse 235 Authentication succeeded
# Commande MAIL FROM: test@domaine.tld # Réponse 250 ok
# Commande RCPT TO: test@shyrka.sys # Réponse 250 ok
données du mail :
# Commande DATA # Réponse 354 go ahead
Reply-to: pour indiquer l'adresse de réponse et/ou Subject: pour indiquer le sujet du mail. Comme la touche Entrée renvoie à la ligne, on termine le mail et on active son traitement en entrant un ., seul la dernière ligne :
# Commande Reply-to: fulltest@domaine.tld Subject: Message de test Ceci est un message de test. Voilà un exemple de retour à la ligne. . # Réponse 250 ok
telnet :
# Commande QUIT # Réponse 221 serveur.domaine.tld Connection closed by foreign host
Au final, la communication telnet ressemble à ça :
telnet smtp.shyrka.sys 25 Trying a.b.c.d... Connected to smtp.shyrka.sys. Escape character is '^]'. 220 smtp.shyrka.sys ESMTP EHLO serveur.domaine.tld 250-serveur.domaine.tld Hello [e.f.g.h] 250-SIZE 26214400 250-PIPELINING 250-AUTH PLAIN LOGIN 250-STARTTLS AUTH LOGIN 334 VXNlcm5hbWU6 TW9uIGxvZ2lu 334 UGFzc3dvcmQ6 UEBzc3cwcmQ= 235 Authentication succeeded MAIL FROM: test@domaine.tld 250 ok RCPT TO: test@shyrka.sys 250 ok DATA 354 go ahead Reply-to: fulltest@domaine.tld Subject: Message de test Ceci est un message de test. Voilà un exemple de retour à la ligne. . 250 ok QUIT 221 serveur.domaine.tld Connection closed by foreign host
Même si les commentaires suivants les codes de retour peuvent être modifiés par la configuration du serveur SMTP, les codes, eux, sont standardisés. Voici les principaux :
| Code | Signification |
|---|---|
| 220 | Connexion réussie. |
| 221 | Fin de la connexion. |
| 235 | Authentification réussie. |
| 250 | Commande acceptée. |
| 334 | Attente de réponse de la part du serveur. |
| 354 | En attente des données. |
| 421 | Échec temporaire de la connexion. Il s'agit d'un problème technique générale au niveau du serveur SMTP. |
| 452 | Échec temporaire concernant les destinataires. La liste des destinataires indiquées dépassent la capacité de traitement du serveur. |
| 535 | Authentification échouée. |
| 550 | Échec permanent. La boîte mail n'existe pas/plus ou et invalide. |
| 554 | Échec permanent. Le serveur client est blacklisté par le serveur hôte. |