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
Syntaxe | Description |
telnet machine port | Connection à la machine sur le port afin d'entrer sur le protocol SMTP. |
HELO identifiant | Débute la session sous l'identifiant. |
MAIL FROM: <email> | Spécifie l'email du destinateur. |
RCPT TO: <email> | Spécifie l'email du destinataire. |
DATA | Signifie le début de la frappe du message. |
. | Signifie la fin du message. |
QUIT | Ferme 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 :
Champs | Description |
From | email du destinateur, pend la valeur de syntaxe login@serveur ou alias <login@serveur> |
To | email du destinataire |
Cc | email d'autres destinataires |
Bcc | email d'autres destinataires qui n'apparaîtrons pas dans le logiciels de messagerie |
Subject | sujet du message |
Organization | organisation à laquelle appartient le destinateur |
Sender | alias ou email du destinateur |
Received | liste des intermédiaires techniques |
Return-Path | |
Date | date et heure d'envoie, exemple : Wed, 15 Nov 2000 10:05:57 +0100 (MET) |
Reply-To | email de réponse |
Message-Id | identifiant du message de syntaxe <listedecaractères@serveur> |
In-Reply-To | |
References | identifiants des messages successifs auxquels celui-ci fait réponse |
Keywords | mots clés du message |
Content-Type | format du message text/plain ou text/richtext ou multipart/alternative ou... |
Content-Transfert-Encoding | format du transfert SMTP, 8bit en général |
MIME-Version | version du format MIME utilisé, 1.0 en général |
|