Le service smtp fonctionne en mode texte. Pour tester le service, se connecter et transmettre un mail à l'aide de telnet/putty. Le protocole utilise les mots clés suivants:
Ci dessous, un exemple de connexion a un serveur smtp:
sophos:~$ telnet 192.9.200.200 25 Trying 192.9.200.200... Connected to 192.9.200.200. Escape character is '^]'. 220 www.intranet.mairie-tournefeuille.fr ESMTP Postfix helo sophos 250 www.intranet.mairie-tournefeuille.fr mail from: yoann 250 2.1.0 Ok rcpt to: destinataire@exemple.org 250 2.1.5 Ok data 354 End data with <CR><LF>.<CR><LF> Mon message ici . 250 2.0.0 Ok: queued as 2C55818028D56 quit 221 2.0.0 Bye Connection closed by foreign host.
Certains serveur exigent une authentification (clear text). Le processus d'authentification utilise un encodage en base 64. Il faut en amont préparer la traduction du nom d'utilisateur et du mot de passe en base 64:
echo -n username | base64 echo -n password | base64
Autre possibilité pour encoder en base 64 via PERL:
perl -MMIME::Base64 -e 'print encode_base64("username");' perl -MMIME::Base64 -e 'print encode_base64("password");'
Via OpenSSL:
openssl enc -base64 -in monfichier.txt -out monfichier.b64
Peu importe la méthode choisie, noter les chaînes traduisant l'utilisateur et le mot de passe en base64 pour ensuite pouvoir les fournir au serveur après avoir taper la commande AUTH LOGIN:
telnet smtp.orange.fr 25 Trying 193.252.22.86... Connected to smtp.orange.fr. Escape character is '^]'. 220 mwinf5d63 ME ESMTP server ready helo localhost.localdomain 250 mwinf5d63 hello [217.133.24.8], pleased to meet you AUTH LOGIN: 334 VXNlcm5hbWU6 BASE64userTraduction== 334 UGFzc3dvcmQ6 BASE64mdpTraduction== 235 2.7.0 ... authentication succeeded mail from: expediteur@example.com 250 2.1.0 <expediteur@example.com> sender ok rcpt to: destiantaire@example.com 250 2.1.5 <destiantaire@example.com> recipient ok data 354 enter mail, end with "." on a line by itself essai authentification telnet . 250 2.0.0 30wz2100D3RlENH030y9ci mail accepted for delivery
Tester procédure lien en référence