III. Le protocol SMTP

Par Hugo ETIEVANT


  1. Introduction
  2. D�roulement d'une session SMTP
    1. Connexion (telnet)
    2. D�marrer
    3. Destinateur
    4. Destinataire
    5. D�but du message
    6. Fin du message
    7. Quitter
    8. Dialogue
  3. Exemple typique de session
  4. R�sum� des commandes
  5. Format MIME
    1. Introduction
    2. Manipulation
    3. R�sum� des champs MIME

Introduction

Le protocol SMTP (simple mail transfert protocol) permet l'envoie de mail au format ASCII (c'est-�-dire sous forme de caract�res imprimables � l'oppos� du format binaire des fichiers objects ou ex�cutables).

Gr�ce � des commandes simples, vous apprendrez � envoyer des mails en ligne de commande du Shell d'Unix.


D�roulement d'une session SMTP

Connexion (telnet)

Avant de saisir les commandes sp�cifiques au protocol SMTP, il faut se connecter sur la machine reli�e au r�seau pour pouvoir transf�rer au r�seau TCP/IP (transfert control protocol / internet protocol) les donn�es.

Syntaxe : telnet machine port

Exemple : telnet lhpca 25

D�marrer

Premi�rement, il faut d�marrer la session par la commande HELO en sp�cifiant en param�tre un identifiant.

Syntaxe : HELO identifiant

Exemple : HELO moi

Destinateur

Ensuite, indiquer l'email du destinateur (c'est-�-dire votre adresse �lectronique) par la commande MAIL FROM.

Syntaxe : MAIL FROM: <email>

Exemple : MAIL FROM: <cyberzoide@multimania.com>

A noter que vous pouvez indiquer n'importe quoi comme email du momment qu'il contient le symb�le "@". Et faire une blague en vous faisant passer pour Bill.Gates@microsoft.com.

Cela peut vous permettre d'envoyer des messages de fa�on anonyme.

Destinataire

Puis, renseigner le destinataire du message par son email gr�ce � la commande RCPT TO.

Syntaxe : RCPT TO: <email>

Exemple : RCPT TO: <lionel.jospin@matigon.gouv.fr>

D�but du message

Pour indiquer au protocol qu'on s'appr�te � �crire le message proprement dit, il faut utiliser la commande DATA.

Syntaxe : DATA

Et ensuite on �crit le contenu du message sur plusieurs lignes.

Fin du message

La fin du message s'indique par le caract�re . (point) seul sur la derni�re ligne du message.

Syntaxe : .

Quitter

Et enfin, on met fin � la session par la commande QUIT.

Syntaxe : QUIT

Dialogue

Tout au long de la session, chaque commande du protocol SMTP (en mode client/serveur) envoy�e fait l'objet d'une confirmation automatique (ou d'un message d'erreur) de la part serveur sur lequel vous �tes connect�s.


Exemple typique de session

$ telnet miage 25
Trying 134.214.88.23...
Connected to miage.univ-lyon1.fr.
Escape character is '^]'.
220 miage.univ-lyon1.fr ESMTP Sendmail 8.9.3/8.9.3/Debian 8.9.3-21; Mon, 23 Apr 2001 09:22:13 +0200
HELO cyberzoide
250 miage.univ-lyon1.fr Hello h-etie00@b710pea.univ-lyon1.fr [134.214.89.151], pleased to meet you
MAIL FROM: <lionel.jospin@matignon.gouv.fr>
250 <lionel.jospin@matignon.gouv.fr>... Sender ok
RCPT TO: <pere-noel@pole-nord.com>
250 <pere-noel@pole-nord.com>... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
salut mon pote

viens bouffer a la maison ce soir....
.
250 JAA29061 Message accepted for delivery
QUIT
221 miage.univ-lyon1.fr closing connection
Connection closed by foreign host.
$

R�sum� des commandes

SyntaxeDescription
telnet machine portConnection � la machine sur le port afin d'entrer sur le protocol SMTP.
HELO identifiantD�bute la session sous l'identifiant.
MAIL FROM: <email>Sp�cifie l'email du destinateur.
RCPT TO: <email>Sp�cifie l'email du destinataire.
DATASignifie le d�but de la frappe du message.
.Signifie la fin du message.
QUITFerme la connection au protocol SMPT.


Format MIME

Introduction

Le format MIME (multiperpose internet mail extension) est un format universel de codage des donn�es pour le mail. C'est ce format qui est utilis� par les logiciels de messagerie �lectronique.

On a vu plus haut que le SMTP permet l'envoie en format textuel de mail, c'est-�-dire que les messages sont envoy�s sur le r�seau internet sous la forme d'une suite de caract�res. Cela ne pose pas de probl�me quand on souhaite envoyer un message �crit tr�s simple mais pour l'envoie de fichiers joints, cela pose un probl�me.

Manipulation

Le format MIME permet de r�soudre ce probl�me et d'int�grer � un mail n'importe quel type de donn�es (fichier image, fichier son, ex�cutable...).

Les champs From, To, Bcc et autres de votre logiciel de messagerie sont au format MIME. Et il est possible de les renseigner manuellement au cours de l'�criture du message durant le protocol SMTP.

Syntaxe : Champs: valeur

Exemple : From: cyberzoide@multimania.com

R��crivons l'exemple de session pr�c�dent en int�grant des champs au format MIME :

C: DATA
      S:354 Send mail; end with "." on a line by it self
C: From: cyberzoide@multimania.com
C: To: lionel.jospin@matignon.gouv.fr
C: MIME-Version: 1.0
C: Subject: R&V ce soir
C: Content-Type: text/plain; charset=iso-8859-1
C: salut mon pote
C:
C: Viens a la maison ce soir,
C: on se fait une bouffe...
C: .
      S:250 message accepted

Evidement, c'est pas tr�s pratique � �crire, vive Netscape Messenger!

R�sum� des champs

Voici quelques champs MIME :

ChampsDescription
Fromemail du destinateur, pend la valeur de syntaxe login@serveur ou alias <login@serveur>
Toemail du destinataire
Ccemail d'autres destinataires
Bccemail d'autres destinataires qui n'appara�trons pas dans le logiciels de messagerie
Subjectsujet du message
Organizationorganisation � laquelle appartient le destinateur
Senderalias ou email du destinateur
Receivedliste des interm�diaires techniques
Return-Path 
Datedate et heure d'envoie, exemple : Wed, 15 Nov 2000 10:05:57 +0100 (MET)
Reply-Toemail de r�ponse
Message-Ididentifiant du message de syntaxe <listedecaract�res@serveur>
In-Reply-To 
Referencesidentifiants des messages successifs auxquels celui-ci fait r�ponse
Keywordsmots cl�s du message
Content-Typeformat du message text/plain ou text/richtext ou multipart/alternative ou...
Content-Transfert-Encodingformat du transfert SMTP, 8bit en g�n�ral
MIME-Versionversion du format MIME utilis�, 1.0 en g�n�ral