Ce document à pour objectif de tester le bon fonctionnement d'un serveur SMTP grâce à l'envoie d'un mail à l'aide de telnet.
Le programme telnet n'est plus installé par défaut. Il reste cependant disponible dans les dépôts et peut donc s'installer simplement avec la commande :
# apt-get install telnet
Windows dispose également d'un client telnet natif lui aussi désactiver par défaut. Plutôt que de l'activer et donc laisser un port ouvert sur notre machine, nous utiliserons le logiciel PuTTY (ou KiTTY) disposant de l'option telnet.
En cas d'authentification, le serveur demandera votre nom d'utilisateur et mot de passer encoder en base64.
Sous un système Linux, on utilisera perl pour faire la conversion :
perl -MMIME::Base64 -e 'print encode_base64("username");' perl -MMIME::Base64 -e 'print encode_base64("password");'
Pour Windows, ce sera PowerShell :
$u = [System.Text.Encoding]::UTF8.GetBytes("username") [System.Convert]::ToBase64String($u) $p = [System.Text.Encoding]::UTF8.GetBytes("password") [System.Convert]::ToBase64String($p)
Une fois toutes ces informations acquise, nous sommes prêts à passer à l'action. On commence par se connecter. Nous entrons l'adresse du serveur puis le port utiliser, qui sera 25, 465 ou 587 selon la paramétrage du serveur.
telnet mon.server.mail 465
Maintenant que nous sommes connecté, nous pouvons étamer l'échange :
EHLO mon.server.mail AUTH LOGIN
Le serveur répondra avec le code 250 à la première commande et 334 VXNlcm5hbWU6;
pour la seconde. Elle indique que le serveur souhaite avoir mon nom d'utilisateur en base64.
Une fois valider le serveur répondra 334 UGFzc3dvcmQ6;
qui correspond cette fois au mot de passe.
Si la procédure de connexion s'est déroulée correctement, le serveur répondra 235 Authentication succeeded
.
Nous sommes alors identifié sur le serveur et pouvons envoyer un mail :
MAIL FROM: notre.mail@server.mail RCPT TO: desti.nataire@server.mail DATA Subject: Message de test Contenu du mail Sur plusieurs lignes .
Le “.” de la dernière ligne est important. Il indique au serveur que l'on à fini d'entrer notre message et qu'il peut l'envoyer.
Pour quitter, on utilisera la commande
QUIT
Il ne reste qu'à vérifier la boite de destination qui devrait voir le mail arrivé