Table des matières

Telnet - Envoyer un mail en ligne de commande

CréationNicolas 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.

Procédure

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

# 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

Authentification

L'étape d'authentification n'est nécessaire que si le serveur en fait la demande. Dans le cas contraire, on peut directement passer à la séquence de rédaction du mail.

# Commande
AUTH LOGIN
# Réponse
334 VXNlcm5hbWU6

# Commande
TW9uIGxvZ2lu
# Réponse
334 UGFzc3dvcmQ6

# Commande
UEBzc3cwcmQ=
# Réponse
235 Authentication succeeded

Corps de message

C'est ici que commence la rédaction du mail.

# Commande
MAIL FROM: test@domaine.tld
# Réponse
250 ok

# Commande
RCPT TO: test@shyrka.sys
# Réponse
250 ok

# Commande
DATA
# Réponse
354 go ahead

# 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

# 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

Principaux codes de retour

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.