Le protocole SMTP: Un protocole client serveur


A l'instar de http, SMTP est un protocole client serveur en mode texte Il est défini dans la RFC 821. Cette dernière écrite en 1982 par Jon Postel (la légende, le père de l'Internet), se base sur une infrastructure bien moins performante que celle dont on dispose aujourd'hui. Il est donc prévu que les caractères transmis soient codés sur 7bits, oubliez les caractères accentués et autre gothique. Pour se connecter à un serveur SMTP (celui mis à disposition par votre fournisseur d'accès Internet fera parfaitement l'affaire), un simple telnet est utilisé :

telnet smtp.wanadoo.fr 25

Le port 25 est celui généralement utilisé par le serveur pour recevoir une connexion. Vous retrouverez cette valeur si vous jetez un œil dans le fichier /etc/services. Une fois la connexion établie, le serveur s'identifie.

220 mel-rta10.wanadoo.fr ESMTP Service (6.5.007) ready

On notera au passage que c'est un serveur ESMTP. Ensuite il convient d'être poli et de s'identifier en déclinant son nom de domaine:

HELO iprelax.net

Cette première opération sert à vérifier que la connexion est établie correctement et que les deux participants peuvent s'échanger des informations. (le " HELLO protocole " est une technique très répandue pour valider la qualité d'un lien ). Quant une opération se déroule bien, le serveur répond avec le code 250.

250 mel-rta8.wanadoo.fr

Nous allons ensuite envoyer un message à nicoas@iprelax.net en tant que linuxmag@iprelax.net.

MAIL FROM: <linuxmag@iprelax.net>
250 MAIL FROM:<linuxmag@iprelax.net> OK
RCPT TO: <nicoas@iprelax.net>
250 RCPT TO:<nicoas@iprelax.net> OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
bonjour,
ceci est un message de linuxmag pour nicolas.
.
250 <3D8011E600743103> Mail accepted
QUIT
221 mel-rta7.wanadoo.fr QUIT


Et je peux vous confirmer que j'ai bien reçu ce mail quelques secondes plus tard.