Accueil > Articles> > Comment écrire un mél via une connexion Telnet

Article publié le dimanche 29 mars 2015 revu le samedi 7 janvier 2023

Messagerie

Comment écrire un mél via une connexion Telnet

Vous pouvez envoyer un mél par une connexion TELNET directe sur le serveur Simple Mail Ttransfert Protocol de votre fournisseur hébergeant votre BAL (Boîte Aux Lettres), depuis n’importe quelle machine reliée à l’internet.

Il faut pour cela simplement connaître le nom technique du serveur SMTP en question (smtp.monprovider.com), ou son adresse IP, puis se souvenir que le port 25 ou 587 est en principe réservé au protocole SMTP.

Dans ce type de connexion, l’écriture des méls se fait en mode ASCII et vous n’aurez pas droit aux fichiers joints !

De plus, le délai de connexion est très court : si vous ne tapez rien au clavier durant plusieurs secondes, vous serez déconnecté(e). Chaque commande est suivie d’un retour chariot.

Mode d’emploi pas à pas :

1) Lancez une session Telnet sous Windows ou une session Terminal sous MacOS.
Windows dispose d’un logiciel client Telnet. Pour l’utiliser, il suffit de taper la commande « telnet » dans la zone de saisie de la fenêtre « Exécuter » ou d’entrer une ligne de commande telnet valide dans une fenêtre de commandes MS-DOS (command). Sous MacOS, utilisez le Terminal :

Last login: Tue Sep 18 08:00:13 on ttys000
imac:~ Administrateur$ telnet
telnet>

2) Ouvrez une connexion SMTP :
tapez la commande « open » suivie de l’adresse de la machine SMTP et du paramètre 25 ou 587 qui désigne le numéro du port du protocole SMTP . La connection au serveur s’opère rapidement. Exemple si « LaPoste » est votre FAI :

open smtp.laposte.net 25

Le serveur POP va vous afficher une ligne de bienvenue et attendre votre réponse :

Trying 194.117.213.7...
Connected to smtp.laposte.net.
Escape character is '^]'.
220 lpn-prd-vrin002 ESMTP Postfix (Ubuntu)

3) Dites ’Helo’ !
Vous pouvez saisir la commande HELO suivi du nom de domaine du serveur ici laposte.net, donc le nom du serveur sans le préfixe SMTP. La machine vous salue à sont tour, certaines ajoutant votre adresse IP et un petit message sympathique :

HELO laposte.net
250 lpn-prd-vrin003, pleased to meet you

Vous pouvez aussi utiliser la commande étendue, EHLO qui vous donnera quelques détails techniques sur la connexion, surtout les mode d’authentification (ici LOGIN et PLAIN)

EHLO laposte.net
250-server.xxx.fr Hello 154.249.298.84.rev.yyy.net [84.98.199.144], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE 50000000
250-AUTH LOGIN PLAIN
250-STARTTLS
250-DELIVERBY
250 HELP

4) Tapez la commande HELP pour obtenir la liste des commandes.
Attention, à la moindre erreur de saisie, les serveurs les plus paranoïaques coupent la connexion et vous devez recommencer depuis la première étape !
HELP

Si la commande HELP n’est pas désactivée par le fournisseur, vous aurez ce type de réponse :

214-2.0.0 This is sendmail
214-2.0.0 Topics:
214-2.0.0 HELO EHLO MAIL RCPT DATA
214-2.0.0 RSET NOOP QUIT HELP VRFY
214-2.0.0 EXPN VERB ETRN DSN AUTH
214-2.0.0 STARTTLS
214-2.0.0 For more info use "HELP ".
214-2.0.0 To report bugs in the implementation see
214-2.0.0 http://www.sendmail.org/email-addresses.html
214-2.0.0 For local information send email to Postmaster at your site.
214 2.0.0 End of HELP info

5) Rédigez votre message.
Ensuite, pour envoyer un mél, vous devez commencer par donner votre adresse valide, délimitée par les symboles inférieur et supérieur, par la commande MAIL :

MAIL from:<monnom@mondomaine.com>

Une réponse positive ou négative vous est retournée sous cette forme :

250 2.1.0 <monnom@mondomaine.com>... Sender ok
250 2.1.0 <monnom@mondomaine.com>... Sender unknown

Puis vous devez préciser l’adresse valide de votre destinataire, entre symboles inférieur et supérieur, avec la commande RCPT :

RCPT to:<nom.destinataire@sondomaine.com>

Si l’adresse est valide, la réponse sera :

250 2.1.5 ... Recipient ok

Si la machine affiche un réponse négative comme, vous devrez utiliser un protocole d’identification STMP [1] :

... Relaying denied. Proper authentication required.

Dans ce cas vous aurez besoin de créer des codes BASE64 à partir de vos identifiants SMTP. Voir en bas de page.

Sinon, vous pouvez commencer à rédiger votre mél en saisissant la commande DATA. Le serveur vous répond éventuellement en vous rappelant que la fin d’entrée des données est commandée par la saisie d’un point (".") seul sur une ligne, suivie d’un retour chariot.

DATA
354 Enter mail, end with "." on a line by itself

Vous pouvez alors rédiger votre message en commençant par préciser l’adresse de retour et le sujet du mél, suivi par votre texte, terminé par un point seul sur la dernière ligne :

Reply-to: mon.nom@mondomaine.com
Subject: test de message
Bonjour, blabla, blabla...

Vous aurez au final la réponse suivante :

250 2.0.0 t2T8pNhq000786 Message accepted for delivery

6) Terminez la session.
La commande QUIT met fin à votre session TELNET SMTP. En cas d’oubli, la temporisation du serveur vous déconnectera quoiqu’il en soit après un temps d’inactivité variable.

221 2.0.0 server.xxx.fr closing connection
Connection closed by foreign host.

-ERR Disconnected for inactivity.
Connection closed by foreign host.

Méthodes d’identification sur un serveur SMTP

Il existe plusieurs mécanismes d’authentification qu’un serveur SMTP peut utiliser, et principalement ceux-ci :

  • PLAIN
  • LOGIN
  • CRAM-MD5
  • DIGEST-MD5

Une fois connecté au serveur SMTP, exécutez la commande EHLO pour vérifier que le mécanisme d’authentification LOGIN est possible. Repérez la ligne qui débute par 250-AUTH :

250-AUTH PLAIN LOGIN

Si LOGIN est présent, il faut alors avant tout créer deux codes BASE64 à partir de votre nom d’utilisateur et de votre mot de passe du compte SMTP. Vous pourrez ensuite exécuter la commande AUTH selon diverses syntaxes.

Codage BASE64
Utilisez ce site pour encoder vos identifiants : https://www.base64encode.org/

Première syntaxe : tapez AUTH LOGIN et retour chariot. Le serveur renvoie "334 VXNlcm5hbWU6", ce qui signifie "Username :". Saisissez votre nom d’utilisateur crypté. Le serveur répond alors "334 UGFzc3dvcmQ6", ce qui signifie "Password :". Saisissez votre mot de passe crypté.

AUTH LOGIN
334 VXNlcm5hbWU6
YmJzLmcvxbNvbnNcbtyrnQ=
334 UGFzc3dvcmQ6
dXNlcmHyHWUuY29t=
235 2.7.0 Authentication successful

Si vous obtenez un code d’erreur comme ceux-ci :

535 5.7.8 Error: authentication failed: another step is needed in authentication
535 5.7.0 Error: authentication failed: authentication failure

ou une erreur similaire, essayez la seconde syntaxe où votre nom d’utilisateur encodé est saisi sur la ligne AUTH LOGIN :

AUTH LOGIN YmJzLmNvbnN1bHRhbnQ=
334 UGFzc3dvcmQ6
dXNlcmHyHWUuY29t=
235 2.7.0 Authentication successful

Lien : Voir aussi Comment lire ses mél via une connexion Telnet ?

Un serveur SMTP d'un fournisseur refuse en général une connexion qui provient d'un ordinateur qui n'est pas reconnu comme client. D'autres serveurs SMTP exigent une authentification. Il vous faudra alors coder vos nom d'utilisateur et mot de passe en base64 et les passer à la machine. Attention ! Depuis MacOS High Sierra, Telnet n'est plus installé par défaut. Vous devrez l'insatller à partir d'une version antérieure de MacOS ou l'installer par vos propres moyens.

Écrire à l'auteur

Moteur de recherche

  

Mot-clef de l'article


Autres Articles

 

Contact

Ce site est mis à disposition sous un contrat Creative Commons : http://creativecommons.org

Plan du site | Se connecter