La messagerie
1. Introduction
1.1. Début de l’Internet
Au début de l’Internet, lorsque celui-ci s’appelait encore ARPANet et
qu’il était composé de quelques centaines de machines, son but premier était
l’échange d’information entre universitaires.
Cet échange se réalisait
sous la forme de transmission
d’un fichier texte peu
volumineux à destination d’un serveur. L’ensemble
des utilisateurs pouvait alors le consulter et y répondre en déposant
eux aussi un fichier. Ce mode de
fonctionnement est celui des newsgroups.
Nous étions alors au début de la messagerie telle qu’on peut l’utiliser
à l’heure actuelle. Les messages déposés sur les serveurs et accessible
à tous ont été remplacés
par un système de boites aux lettres permettant de rendre privé les
messages. L’échange de courrier est alors à destination d’un unique
utilisateur, un destinataire.
Donc la messagerie,
que nous allons voir, reprend les
principes et le fonctionnement de ces newsgroups plutôt que le
fonctionnement d’un protocole de transfert de fichier.
En effet, le transfert de fichier est destiné à échanger entre deux
applications, des données dans leur forme de base,
au format binaire.
La messagerie quant à
elle est
orientée vers le message
constitué
de texte, donc au format
caractère.
1.2. Utilisation pour l’entreprise et les
particuliers
De
nos jours, la
messagerie a pris
une place prépondérante
dans notre
manière de communiquer. Que
ce soit dans l’entreprise, ou
dans la vié privée, le mail est un outil de notre communication.
Son
développement a
permis d’accroitre la
rapidité de nos échanges.
En effet,
en remplacement d’une carte postale ou
d’une lettre qui pouvait mettre au mieux 24h pour arriver jusqu’au
destinataire, le courrier électronique nous a permis de supprimer cette
contrainte d’envoi physique du message. L’information arrive
instantanément dans la boite de notre destinataire (libre à lui de la
consulter rapidement par contre).
Dans
l’entreprise, la messagerie est un moyen de collaboration.
Tous les collaborateurs gardent en permanence leur client de messagerie
ouvert afin d’envoyer rapidement de l’information à leurs
collaborateurs ou leurs clients.Ils peuvent recevoir également de
manière presque instantanée une réponse attendue, une demande de
rendez-vous, une tâche à effectuer, etc...
C’est bien au sein d’une entreprise d’ailleurs que l’on voit
l’importance de cette messagerie qui remplace petit à petit les coups
de téléphones entre collègues.
Dans la
vie privée, le courrier électronique s’est bien
développé par la facilité et la simplicité d’obtention d’une boite aux
lettres électroniques. Celles-ci sont fournies automatique avec votre
connexion Internet. Vous pouvez même en ouvrir gratuitement auprès d’un
grand nombre de fournisseur de service. Tout ceci a permis à
chacun d’avoir au minimum une boite,
voire plusieurs :
- une personnelle pour les échanges dans un cadre privé;
- une pour accumuler les messages publicitaires;
- une pour le domaine professionnel;
- une pour le domaine loisirs ou sportifs;
- une pour un anonymat lors de l’inscription sur
des sites;
- une dans le cadre d’une formation;
- etc...
On peut donc dire que la messagerie Internet est au cœur de notre
communication d’aujourd’hui. Mais est-ce que l’on
sait ce qu’il se
passe derrière ?
Qu’est-ce qui fait que
mon message
va arriver dans la
boite de mon destinataire et pas d’un autre ? Nous
allons donc dans la suite de ce chapitre, tenter de répondre à ces
questions.
2. Architecture de la messagerie Internet
Description du fonctionnement d'une messagerie
Description simplifié du fonctionnement d'une messagerie
Mise en pratique via utilisation de Telnet
2.1. Une architecture modulaire
Les Agents de messagerie
- MUA
(Mail User Agent) : c’est le client de messagerie
- MTA
(Mail Transfert Agent) : c’est un service du serveur de
messagerie qui gère l’émission
- MDA
(Mail Delivery Agent) : c’est un service du serveur de
messagerie qui gère le stockage
- MAA
(Mail Access Agent) : c’est un service sur le serveur de
messagerie qui gère l’accès aux messages des boites aux lettres.
Le
schéma suivant décrit les
relations
entre chacun de ces
agents et
leur rôle respectif suivant
les étapes
effectuées lors de la transmission d’un message.
Schéma à retenir

- Etape
1 : Un usager compose, avec l’aide de son client de
messagerie (MUA ou logiciel de messagerie) un message
- Etape 2 :
Le message est transmis au MTA de l’usager ( son serveur de messagerie
en SMTP)
- Etape 3 :
Le message est transmis au serveur de messagerie du destinataire (SMTP)
- Etape 4 :
Le serveur transmet le message à un agent: notion d’agent MDA ‘Mail
Delivery Agent’
- Etape 5 :
Le MDA stocke le courrier dans la boite à lettres du destinataire
- Etape 6 :
Sur requête du destinataire dans le cadre d’un protocole de relève POP
ou IMAP les messages sont extraits de la boite à lettre par un agent :
MAA (‘Mail Access Agent’)
- Etape 7 :
Les messages sont transmis au client de messagerie utilisateur (protocoles POP
ou IMAP). Ils sont stockés dans des boites à lettre client
- Etape 8 :
Le destinataire consulte ses messages en utilisant son client de
messagerie (MUA)
2.1.1. Les protocoles de la messagerie Internet
- Simple
Mail Transfer Protocol (SMTP) : port 25
- Le protocole basé
sur des messages
de format textes qui
définit les
échanges entre serveurs de messagerie
- Extended
Simple Mail Transfer Protocol (ESMTP) :
- Une évolution de SMTP qui définit des commandes
supplémentaires
- Post
Office Protocol (POP) : port 110
- Un protocole de base de relève de courrier pour le
dialogue entre un client de messagerie MUA et un serveur de messagerie
dans sa partie MAA
- Internet
Message Access Protocol (IMAP): port 143
- Un autre protocole de relève qui offre des possibilités
plus larges que POP (gestion des archives decourrier, limitation des
volumes de données échangées …)
2.2. Acheminement de bout en bout

Le serveur de messagerie MTA achemine directement un message entre un
émetteur et un destinataire. Pour cela il utilise un service de
transport existant (typiquement TCP).
Le message est envoyé directement vers le serveur de messagerie
correspondant à l’utilisateur destinataire.
Un courrier est acheminé comme segments de niveau transport.
3. Le protocole de transfert du courrier SMTP
http://www.commentcamarche.net/contents/internet/smtp.php3
Description du protocole SMTP
3.1. Adressages
3.1.1. Contenu d’une adresse
Les
adresses dans le service de messagerie (émetteurs ou destinataires)
sont des couples :
Exemple fictif : robert.dupont@onu.org qui a donc la forme a@b où a est
le nom de boîte aux lettres et b, le domaine DNS où est gérée
la boîte aux lettres.
Le
système de noms de
domaines (DNS)
permet de déterminer les
serveurs
de courrier d’un domaine
(enregistrement de type MX).
Les noms utilisables pour les boites aux lettres sont quelconques
(taille inférieure à 64 octets).
3.1.2. Syntaxe des adresses
Plusieurs
syntaxes sont possibles lors de la rédaction d’un message.
Le client de messagerie réussira à envoyer le message au destinataire
si vous respectées une des syntaxes suivantes lors que vous remplissez
le champ « A » :
- robert.dupont@onu.org : La forme la plus simple
- "robert.dupont"@onu.org :
Avec des
guillemets pour délimiter la
chaîne
de caractères boite à lettres
- Robet.dupont(Robert DUPOND)@onu.org : Une chaîne
entre parenthèses est un commentaire donc ignorée
- Robert
Dupond <robert.dupont@onu.orgt>
: En fait seul compte ce qui est entre < et >. Le reste
est ignoré.
- robert.dupond@212.156.44.12 : Forme
d’adresse
dite littérale avec directement
codée
l’adresse IP du serveur
3.2. Le mode client-serveur

Le
protocole SMTP agit au niveau de la messagerie suivant le modèle
client-serveur.
A
la différence des applications
client-serveur habituelles, il
n’intervient
pas uniquement entre le
client de messagerie, qui souhaite transmettre un courrier,
et le serveur. En effet, le protocole agit également entre deux MTA.
Donc le
client de messagerie est un client utilisateur du protocole SMTP mais
également un agent MTA. En effet, l’agent reçoit une
commande du client (il joue le rôle de serveur SMTP), mais il joue
également le rôle de client car il ouvre une connexion SMTP vers le
serveur MTA du destinataire.
3.3. Exemple d’échange
Il est possible d'utiliser un
outil pour agir directement sur le serveur SMTP. On utilise alors la
commande en ligne suivante pour accèder au serveur smtp de free, par
exemple : telenet smtp.free.fr 25
25 car le protocole smtp utilise le port 25
On
peut ainsi adresser un message en s'appuyant sur modèle ci-dessous. On
pourra ainsi mieux comprendre les éléments, les commandes
présentes.
On ne peut faire ces manipulations sur le smtp de son FAI ou sur des relais, ou routeurs ouverts.
Telnet sous windows pour dialoguer avec le serveur de messagerie
http://www.commentcamarche.net/faq/6002-activer-telnet-sous-vista
Attention, il ne faut pas faire d'erreur dans la saisie, sinon elles sont reprises dans le message d'arrivée.
On peut aussi ursurper une adresse email. Dangereux.
Postfix est un logiciel, un serveur de messagerie fourni avec Linux. On peut donc avoir son propre serveur messagerie.
profs@cnam... Connecting to smtp.cnam.fr (TCP)...
220 smtp.cnam.fr Sendmail 3.2/SMI-3.2 ready at Sun, 6 Mar 11 17:24:07
PST
>>>
HELO poste.cnam.fr
250 smtp.cnam.fr HELO poste.cnam.fr, pleased to meet you
>>>
MAIL From:<profs@cnam.fr>
250 <profs@cnam.fr>... Sender ok
>>>
RCPT TO :<auditeurs@cnam.fr>
250 <auditeurs@cnam.fr>... Recipient ok
>>>
DATA
354 Enter mail, end with "." on a line by itself
>>>
Ceci est un essai d’envoi de mail
.
250 Mail accepted
>>>
QUIT
221 smtp.cnam.fr delivering mail
3.4. Les requêtes du client
3.4.1. Les requêtes basiques
Chaque
requête (un message du
protocole
SMTP) correspond à une
ligne de
texte terminée par CRLF (Retour
chariot)
- HELO
<SP> <domaine>
<CRLF> :
L’ouverture de session entre
le
client et le serveur
(le message contient le nom de domainre FQDN du client)
- MAIL
<SP> FROM:
<route-retour> <CRLF> : Définit l'adresse
mail de l'émetteur (utilisé pour le retour éventuel d'erreurs)
- RCPT
<SP> TO:
<route-aller> <CRLF> : Définit l'adresse
d’un destinataire
- DATA
<CRLF> : Définit l'enveloppe (l'entête) et le corps (le
texte) du message
- un point . pour indiquer la fin du texte du message
- QUIT
<CRLF> : Termine un courrier
Ces
requêtes permettent donc
simplement
d’envoyer un courrier
électronique en
indiquant un minimum d’information.
Tout se fera donc en ligne de commande avec l’envoi de caractères
correspondants aux requêtes.
3.4.2. les requêtes annexes
- RSET
: Commande pour abandonner le courrier en cours de transmission et
restaurer la connexion
- VRFY
: Commande pour vérifier une adresse de destinataire sans lui
transmettre de courrier (utilisable pour déterminer la cause d’un
problème)
- NOOP
: Commande vide qui oblige simplement le serveur à répondre 200 OK
- EXPN
: Expansion d’une liste de diffusion (‘mailing list’)
- TURN
: Inversion des rôles client et serveur pour envoyer du courrier dans
l’autre sens sans ouvrir une nouvelle connexion TCP
A l’aide de ces commandes supplémentaires, nous sommes capables
d’effectuer des actions supplémentaires lors de notre envoi de mail.
On
est capable de traiter
une erreur
et recommencer notre connexion
sans
avoir à la quitter et
la rouvrir (commande RSET).
Il
est également possible de
vérifier
l’existence d’un destinataire
sans
forcément lui envoyer un
courrier et attendre l’éventuelle réponse d’erreur pour
constater que l’adresse est erronée. (VRFY)
La
messagerie Internet nous permet également d’envoyer un même courrier
à un ensemble de destinataires. Pour cela, on peut
utiliser par exemple
une liste
de diffusion.
On
envoi donc notre message à une unique adresse destinataire, l’adresse
de la liste, et le serveur de messagerie se chargera d’envoyer autant
de fois le message que de personne inscrite dans cette liste.
Pour
cela, ouvrira une connexion vers un serveur destinataire et utilisera
la commande EXPN autant de fois que de destinataires inscrits
appartenant au serveur récepteur.
3.5. Les réponses du serveur
3.5.1. Structure d’une réponse
A chaque requête du client, le serveur enverra un message de réponse
composé de la manière suivante :
- Code réponse
(trois chiffres décimaux) et explication
textuelle
Chaque
code réponse correspondra à
une
catégorie de réponse de
serveur
suivant les chiffres décimaux
qui le
compose :
- Suivant le premier chiffre, la réponse correspondra à :
1yz: Un avis positif, à suivre
2yz: Une requête satisfaite
5yz: Une réponse négative
- Suivant le second chiffre, la réponse sera en relation avec
:
x0z: La syntaxe
x2z: L’état de la connexion
x5z: L’état du système de messagerie
Le texte qui suit les codes réponse représentera une explication en
clair de la réponse.
En
cas de problème dans
un courrier, il faut
interpréter le code d’erreur et son
explication. Si le problème est sérieux, dans ce cas, on fait suivre à
l’administrateur de courrier (appelé postmaster).
3.5.2. Listes de réponses courantes
211 System status, or system help reply
214 Help message [Information on how to use]
220 <domain> Service ready
221 <domain> Service closing
transmission channels
250 Requested mail action okay, completed
251 User not local; will forward to
<forward-path>
354 Start mail input; end with
<CRLF>.<CRLF>
421 <domain> Service not available,
closing channels
451 Requested action aborted: local error in processing
452 Requested action not taken: insufficient
storage
500 Syntax error, command unrecognized
501 Syntax error in parameters or arguments
502 Command not implemented
503 Bad sequence of commands
504 Command parameter not implemented
550 Requested action not taken: mailbox unavailable [mailbox
not found, no access]
551 User not local; please try <forward-path>
552 Requested mail action aborted: exceeded storage
allocation
553 Requested action not taken: mailbox name not allowed
[mailbox syntax incorrect]
554 Transaction failed
3.6. L’évolution = ESMTP
3.6.1. Des requêtes supplémentaires
- EHLO
<SP> <domaine>
<CRLF> : Ouverture de session entre un client et un
serveur en mode ESMTP.
Réponse : liste des extensions supportées par le serveur
- 8BITMIME
: Définit un encodage en caractères 8 bits au lieu
de 7
Exemple : MAIL FROM: <adresse> BODY=8BITMIME
- CHUNKING
: Permet de transmettre par morceaux
- BINARYMIME
: Permet de transmettre des données binaires
Exemple : BODY=BINARYMIME le courrier est en binaire et est introduit
par BDAT au lieu de DATA
- ETRN
: Permet d’envoyer un message sur plusieurs connexions
TCP successives
- DSN
(Delivery Service Notification)
:
Définit un système d’accusé
de
réception pour les courriers électroniques
- SIZE
: Définit une taille pour un courrier
Exemple : MAIL FROM: <adresse> SIZE=nnnnn
- PIPELINING
: Pour enchaîner plusieurs commandes SMTP sans
attendre la réponse
- AUTH
: Introduit une authentification de l’émetteur d’un
message
- CHECKPOINT
: Permet de créer
des
transactions de transmission de
courrier
reprenables en cas de panne.
En introduisant des requêtes
complémentaires à celle existante dans le
protocole SMTP, le ESMTP va
permettre d’étoffer
le fonctionnement de notre
messagerie
électronique et de répondre
aux
besoins des différents utilisateurs.
On
pourra
ainsi expédier des
messages
plus volumineux, ne comportant
pas
seulement du texte mais des
informations plus évolués (images, documents, vidéos, etc....).
Il
faudra simplement découper le message pour éviter des erreurs de
transmission lors de l’envoi d’une quantité trop
importante d’un seul coup.
L’évolution
importante que l’on peut voir dans ce protocole ESMTP est
au niveau de l’introduction d’une notion de sécurité,
l’authentification. En effet, SMTP est un
protocole simple
qui ne gère aucune sécurité, aucune vérification de l’adresse
d’émission ou de réception par exemple. Ce qui signifie
que n’importe
qui peut envoyer un message électronique
en usurpant l’adresse d’un
autre.
Avec ce mécanisme
d’authentification,
l’émetteur doit fournir un
identifiant
et un mot de passe
avant
l’émission d’un message à
l’aide du
serveur. On
limite donc
l’usage du serveur d’émission uniquement aux
personnes autorisées (personnel de
l’entreprise par exemple).
4. Les protocoles de relèves du courrier
4.1. POP3 : Post
Office Protocol
4.1.1. Principe
C’est
le protocole de relève
le plus
simple. Il est
également
le plus
souvent utilisé en transfert
définitif
des messages d’une boite à lettre d’un serveur de messagerie vers un
client de messagerie.
On parle de transfert définitif car ce protocole ne
gère pas les
archives de courrier sur le serveur.
De ce fait, il convient bien à l’utilisation à partir du même poste
client de messagerie.
Le
stockage des messages est réalisé dans un unique fichier
correspondant à la boite aux lettres de l’utilisateur.
Lorsque le client demande la relève de son courrier, il télécharge
l’intégralité du fichier et le client différentie les messages
successifs pour les afficher de manières distinctes. Pour cela, il se
base sur le contenu du message et son en tête pour détecter le début et
la fin d’un message.
Après
le téléchargement, le fichier est vide sur le serveur et pourra
servir à stocker de nouveaux messages.
Pour
outre passer ce mode
de
fonctionnement, il est possible
d’indiquer au niveau de
client un
archivage du message sur le
serveur.
Cela revient à demander
au client
de ne pas télécharger
la boite
aux lettres pour la supprimer ensuite,
mais de simplement récupérer une copie de l’ensemble
des messages.
4.1.2. Messages principaux
- USER
: Emission du nom de la boite à lettre (nom de
l’utilisateur)
- PASS :
Emission du mot de passe en clair
- APOP
: Emission cryptée du mot de passe
- STAT
: Nombre de messages dans la boite
- LIST
: Liste des messages présents
- RETR
: Transfert du message n
- DELE
: Marquage message pour la suppression
- LAST
: Numéro du dernier message consulté
- RSET
: Annulation des actions d’une session
- QUIT
: Fin de session
4.2. IMAP4 :
Internet Message Access Protocol
4.2.1. Principe
Contrairement à POP, le protocole IMAP
est le plus complet.
En effet, il permet
de gérer les archives de courrier sur le serveur.
L’ensemble des messages d’un utilisateur va être stocké dans un dossier
sur le serveur, appelé MailDir ou MBox.
Par
défaut, les nouveaux messages arrivent dans un dossier Inbox.
L’utilisateur peut à l’aide d’IMAP créer d’autre sous
dossier de stockage pour gérer l’archivage et y déplacer les
différents messages. Dans le cas de
IMAP, chaque message est stocké dans un fichier
distinct.
De
plus, ce protocole permet
de
minimiser les échanges de
données
sur le réseau. Lors
de la
connexion d’un client de messagerie, seul les en têtes des
messages sont récupérer
pour créer une arborescence, sur le poste client, similaire à celle sur
le serveur.
Le
message est réellement
téléchargé lorsque
le client demande la
lecture de
celui-ci. On évite donc de
télécharger des données concernant des messages inutiles ou non
souhaité du client.
Etant
donné qu’il est le
plus souvent
utilisé en laissant les
courriers
dans la boite à
lettre du
serveur de messagerie, ce protocole est tout à fait adapté à
la consultation à
partir de différents poste clients.
Ce
protocole est également utilisé dans le cas d’un webmail.
En effet,
il est à présent possible de consulter ses messages
directement sur Internet. Pour cela, vous aller vous
connecter sur un portail (Webmail) qui va gérer l’affichage
des messages stockés dans
votre
boite aux lettres. Afin
de
récupérer les en têtes
et contenus
des différents messages, le serveur web, sur lequel est situé le
programme de webmail, va faire appel au protocole IMAP
pour la communication et
la
récupération des messages du
serveur
de messagerie. Il n’est
donc pas nécessaire que le serveur de messagerie soit le même
que celui qui va
afficher le webmail.
Si,
par contre, le serveur
gère les
deux services, le protocole
IMAP
sera tout de même
utilisé mais
dans une communication interne à la machine, à travers
l’adresse de boucle
locale.
4.2.2. Messages principaux
- AUTHENTICATE
: Mécanisme d’authentification choisi
- LOGIN
: Emission du nom d’utilisateur et du mot de passe
- LOGOUT
: Fin de session IMAP
- CREATE/DELETE/RENAME
: Modification à l’aide d’un nom de
boite à lettre
- SELECT/EXAMINE
: Lecture à partir d’un nom de boite à lettre
- LIST/LSUB/STATUS
: Etat de la boite à lettre
- EXPUNGE/CLOSE
: Détruit les messages marqués (et ferme)
- SEARCH
: Recherche de message sur différents critères
- FETCH
: Récupération des données concernant un courrier
- COPY
: Recopie d’un message d’une boite à lettre dans une
autre
- CAPABILITY
: Liste des fonctions implantées d’un serveur
- NOOP
: Opération vide (permet de garder la connexion
ouverte en cas d’inactivité trop longue)
5. Le client de messagerie
5.1. Des clients « lourds »
On
appelle « client lourd », une application de messagerie particulière
qui est installée sur l’ordinateur d’un client.
Il
en existe un certain
nombre sur
le marché à la
disposition des
particuliers et des entreprises
qui
peuvent provenir du monde libre ou de grand éditeur.
Voici une liste non exhaustive de client de messagerie « lourd » :
- Outlook et Outlook Express (Microsoft)
- Thunderbird (Mozilla, libre)
- Eudora (Qualcomm)
- Foxmail (gratuit)
- Lotus Notes (IBM)
- Mail (Apple pour Mac OS X)
- Mutt (libre, client de messagerie en ligne de commande sur
les système Linux)
5.2. Des clients « légers »
Contrairement aux clients lourds, on parle de clients
légers dans le
cas d’un Webmail. Ici, nous n’avons pas
besoin d’une application sur le poste de l’utilisateur mais simplement
d’un
navigateur Internet. Du coté du serveur, on installera en
plus d’un serveur Web, un logiciel de messagerie.
Celui-ci permettra de mettre en forme le courrier dans une présentation
HTML qui sera ainsi interprété et afficher dans
le navigateur.
Il
existe plusieurs éditeurs qui
proposent
des webmails pour les
entreprises à
installer sur leur serveur de
messagerie ou sur un serveur indépendant. En voici une liste non
exhaustive :
- Outlook Web Access (Microsoft, installé avec leur serveur
de messagerie Exchange)
- IMP (libre, écrit en PHP)
- SquirrelMail (libre, écrit en PHP)
- RoundCube (libre, écrit en PHP avec une base de donnée SQL
pour gérer les messages et utilisateurs)
- Horde (libre)
- Zimbra (Vmware, écrit en AJAX)
Un grand nombre de fournisseurs de service de messagerie utilisent
actuellement le webmail comme support de connexion pour leur client. Il
n’impose pas ce support car le
téléchargement des messages par le biais de POP3 ou IMAP4 sur un client
de messagerie reste possible.
L’avantage
du webmail réside quant même dans le fait que vous pouvez
accèder à votre messagerie peut importe ou vous êtes et sans
installation particulière, un simple navigateur
internet et une connexion vous permette de consulter votre message.
Voici une liste (non exhaustive) des fournisseurs de service de
messagerie proposant un accès par webmail :
- Gmail (Google avec son propre logiciel de webmail, ouvert à
tous depuis 2006)
- Windows Live (Microsoft, à l’origine le premier webmail
sous son ancien nom Hotmail)
- LaPoste.net
- Yahoo Mail
- AOL Mail
- Voila
- Free (propose plusieurs interface a ses clients : IMP,
RoundCube, Zimbra)
Les
fournisseurs d’accès Internet qui offre à leur client une adresse
de messagerie et donc le stockage de leur mail,
utilisent également à
présent le webmail.
C’est un
service qui est
inclus dans votre abonnement
pour la connexion Internet. C’est le cas surtout des grands
fournisseurs : Orange, SFR ou Free entre autre.
6. Le format du message
6.1. Le format de base
Dans le
format de base d’un courrier, celui-ci est composé de lignes de
caractères (USASCII) sur 7 bits selon la définition
du NVT Telnet. Chaque
ligne fait
au maximum 1000 caractères
et est
terminée par CR LF (retour
chariot).
Les courriers sont en deux partie :
une entête et un corps séparés par
une ligne vide.
L’entête
est une liste de
lignes précisant
les caractéristiques du message
sous
la forme « Nom_de_zone:
Valeur_de_zone ».
Le corps contient les données effectivement échangées, c'est à dire le message.
Pour
voir le message au format texte, il faut trouver la manipulation pour
accéder au code source de ce message. On obtient alors un document
comme celui ci-dessous.
Lorsque l'on adresse un message avec telnet, un numéro est donné à ce message. On retrouve ce numéro dans le format texte.
6.1.1. Un premier exemple simple
Delivered-To: gerard.florin@cnam.fr
Date: Thu, 21 Mar 2002 15:15:39 +0100
From: Bruno Traverson <bruno.traverson@der.edf.fr>
Organization: EDF-DER
X-Accept-Language: fr
MIME-Version: 1.0
To: th-rntl-accord@rd.francetelecom.com
Cc: TRAVERSON Bruno <Bruno.Traverson@der.edfgdf.fr>
Subject: Un premier retour sur le modèle
Corps du courrier électronique
6.2. L’entête
- Au moins trois lignes obligatoires :
- From: adresse émetteur
- To: adresse destinataire
- Date: date de création du message
- Nombreuses autres
possibilités normalisées
mais facultatives : Possibilité
de
créer des entêtes propriétaires à condition de les
faire précéder de X
6.2.1. Quelques champs de l’entête
6.2.1.1. Entêtes normalisées facultatives
- Received : Une information sur le chemin suivi
- Reply-To : Une adresse pour la réponse
- Subject : Le sujet du message
- Message-ID: un identifiant unique du message
6.2.1.2. Entêtes privées (commençant par x-)
- X-Phone : Un numéro d’appel
- X-Mailer : L’identifiant du logiciel de gestion de courrier
(Lotus Notes Release 5.0.5 …)
6.3. Le format (MIME
‘Multipurpose Internet Mail
Extensions’)
Pour
répondre à l’insuffisance du format de base, un nouveau format est
apparu, le format MIME.
MIME introduit quelques nouvelles entêtes ayant surtout pour objet de
décrire le format des corps de courriers.
6.3.1. Les objectifs de MIME
- Besoin élémentaire:
transmettre des
messages textuels qui utilisent
des
jeux de caractères autres que
l'US-ASCII (par exemple ISO-Latin)
- De manière beaucoup plus générale : permettre la
définition d'un système très général de typage pour des documents
multimédia : textes, images, sons, tableurs, ...)
- Permettre de transmettre
des corps
de message comportant plusieurs
parties
(message avec plusieurs attachements)
6.3.2.
Les types principaux de données MIME:
6.3.2.1.
données ‘discrètes’ (simples)
- Type texte:
données lisibles
- text/rfc822; text/plain; text/html
- Type image:
différents codages image
- Type son:
différents codages ‘ Audio ’
- audio/basic (MIC mu 8000 Hz 8 bits)
- Type vidéo
: images animées
- Type
application : les données qui restent
- application/octet-stream; application/PostScript
6.3.2.2.
données composites ou assemblées
("multipart")
Ce type de données permet de combiner plusieurs types de données en un
seul corps.
- Quatre principaux types: de syntaxe identique mais de
sémantique différente
- multipart/mixed
: les données assemblées sont
indépendantes
- multipart/alternative
: les données sont des alternatives
d'une même information (pour le meilleur affichage sur
différents destinataires)
- multipart/digest
: la forme par défaut text/plain est la
forme textuelle la plus simple d’un message soit text/rfc822
- multipart/parallel
: les données sont présentées en
parallèle
- multipart/related
: les
données sont
reliées (comme un document
HTML qui
comprendrait des images incluses)
6.3.2.3.
données ‘message’
Ce type
message est défini pour transporter dans un corps de courrier
électronique un autre courrier électronique.
Il
est utilisé entre autre
en cas
d’erreur lors de l’émission.
On
renvoi le courrier original
dans un
courrier de diagnostic.
6.3.3. Directives d’entête spécifiques de MIME
MIME
utilise des directives d’entête décrivant le corps d’un message
pour permettre son interprétation à l’arrivée.
Champs spécifiques du format MIME :
- Mime-version
: la version utilisée actuellement 1.0
- Content-type
: le type et les sous-type des données
- Paramètre charset : le jeu de caractères utilisé
- Content-Tranfer-Encoding
: l’encodage utilisé
(quotedprintable, base64)
- Content-ID
: Identificateur unique de partie de message
- Content-Description
: Informations complémentaires sur le
contenu
6.3.4. Exemples de format MIME
6.3.4.1. Exemple d’un courrier en français encodé
en format base 64
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-transfer-encoding: base64
- Commentaires :
Les données transportées sont des caractères ISO-8859-1. Le codage du
corps est effectué en base64.
6.3.4.2. Exemple d’un courrier composite multipart
MIME-Version: 1.0
Content-type: multipart/alternative; boundary="simple limite"
--simple limite
Content-Type: text/plain; charset=ISO-8859-1
Content-transfer-encoding: quoted-printable
Bonjour G=E9rard
--simple limite
Content-Type: text/html; charset=ISO-8859-1
Content-transfer-encoding: quoted-printable
<HTML> <BODY> <H1> Bonjour
G=E9rard </H1></BODY></HTML>
--simple limite
6.3.5. Conclusion : Format Mime
MIME reste le format par excellence de transmission de fichiers de
données multimédia.
Il
est utilisé pour de
très nombreux
formats de données (des
centaines
de types différents). Un
mécanisme d’extension permettant d’intégrer en permanence de nouveaux formats.
MIME est utilisé avec des modifications très mineures par le protocole
HTTP du WEB pour ses propres échanges de données multimédia.
Une extension du format permet aussi la définition de mécanismes de
sécurité pour les échanges de courrier :
SMIME (‘Secure MIME’). On gérera ainsi la sécurité au niveau du contenu
du message, confidentialité et intégrité des données par exemple.
7. La messagerie interne
Au
sein d’une entreprise, la
messagerie
est un élément de
communication
très important. Elle est
aussi bien utilisée
pour le démarchage ou
la
communication avec ses clients,
ou
pour la communication interne à
l’entreprise, entre collaborateurs.
Sur
le fonctionnement, la
messagerie interne
ne se différencie pas
de celle
présente sur l’Internet. On va principalement utiliser les mêmes protocoles, SMTP par exemple.
Cependant,
le client de messagerie
utilisé
sera en étroite relation
avec le
serveur qui gère le
domaine de l’entreprise.
En effet, lorsqu’une entreprise fait le choix de gérer elle-même ces
messages électroniques (et ne pas utiliser les services de prestataires, d’hébergeurs) alors elle doit mettre en place
son propre serveur de messagerie.
Plusieurs choix s’offrent à elle et on retrouvera également à ce niveau
les solutions prises par les hébergeurs de courrier sur Internet.
Le serveur disposant de la plus grosse part de marché à l’heure
actuellement dans les entreprises est Microsoft Exchange. Celui-ci permet une collaboration étroite avec le client de
messagerie Outlook et permet entre autre à ce
dernier de toujours rester
connecté
au serveur. Pour cela,
Microsoft a
développé un protocole propriétaire (basé sur IMAP) au niveau de la synchronisation des messages et leur
récupération, qu’il a basé MAPI.
D’autre
serveur de messagerie sont
également
utilisé au niveau des
entreprises.
C’est le cas aussi de
Lotus Domino
(d’IBM) qui comme Exchange
permet
des fonctionnalités avancées
lorsqu’il
est couplé à son client équivalent, Lotus Notes. La part de marché de ce serveur, est par
contre en constante diminution ces dernières années.
Au
niveau des autres solutions
à
disposition des entreprises, on
retrouve
beaucoup de serveur provenant
du monde
libre (utilisés par les
grandes
fournisseurs de messagerie) et
intégrable
essentiellement sur des plate-formes Linux.
C’est le cas de Sendmail, serveur ancestral sur Linux, remplacé
actuellement par postfix qui domine les serveurs de messagerie du libre.
On
retrouve aussi des serveurs
comme
Exim, QMail et bien
d’autre. Dans
ces solutions libres, certains
gèrent l’ensemble des agents que l’on trouve sur un serveur et d’autre ne joue
que le rôle du MTA. On devra rajouter alors
plusieurs programmes serveurs
supplémentaires
afin de gérer l’ensemble
des agents
du serveur de messagerie et donc gérer POP et IMAP, c’est le cas par exemple de
cyrus-imap, qpopper, procmail, mailfilter.
8. Les dérives
La messagerie est vulnérable aux différentes attaques (virus). En
effet, c’est le média favori des pirates pour la propagation des virus.
Elle souffre aussi de problèmes concernant l’engorgement par le
courrier non sollicité (‘ spam ’). De plus en plus de messages arrivent dans nos boites alors qu’ils nous concernent pas,
surtout à des faits publicitaires, et voir même pour des arnaques (phishing par exemple).
Pour lutter contre ce genre de problème, les éditeurs et les fournisseurs de
service tentent toujours de mettre en place de
nouvelle chose pour essayer
de
filtrer cette messagerie, mais
sans
arrivée pour le moment
à une
solution miracle.
8.1. Les solutions de lutte contre le spam
8.1.1. Le filtrage
De
plus en plus d’éditeurs,
provenant
essentiellement du monde des
antivirus,
développe des solutions pour contrer les spams.
La plus répandu étant de déterminer par un système d’apprentissage si
le message est considéré comme légitime ou non. Il existe ainsi plusieurs approches pour traiter ce type de
filtrage.
8.1.1.1. Une base de donnée
Comme
pour les antivirus, les
éditeurs
alimentent une base de
données des
messages considérés comme du spam. Ces bases seront téléchargées ensuite régulièrement par les
logiciels afin d’avoir toujours connaissance des dernières découvert.
Cela induit un temps assez considérable entre la propagation du spam et
la détection par l’éditeur du logiciel.
Dans
cette base de donnée,
les éditeurs
peuvent aussi y introduire
des
adresses IP représentant celles régulièrement utilisées pour l’émission de message jugé comme du spam.
Ces adresses seront ainsi interdite par le logiciel antispam, et la connexion au serveur de messagerie sera
tout simplement refuser à partir de celle-ci.
8.1.1.2. Un pourcentage de chance
Dans la continuité du filtrage, il existe une solution proposant aux
logiciels eux même de gérer différemment les messages.
Ainsi, lors de l’analyse
d’un
message entrant (ou sortant),
ils
analysent le pourcentage de
chance qu’un message soit non légitime. Pour cela, ils vont utilisés plusieurs
critères comme le nombre de destinataire, la taille du message, le contenu du message (HTML, texte), le nombre de
pièce jointe et leur taile, etc…
Et
plus le message correspondra
au
critère de spam plus
son
pourcentage sera élevé. Ainsi
lorsqu’un message
atteint un certain seuil de pourcentage, (généralement 50%) il est
considéré comme un spam et il est placé dans un quarantaine ou un répertoire particuliers, facilement repérable pour
l’utilisateur. Il est également possible de supprimer directement le message après l’analyse, c’est généralement le
cas au dessus de 90% de chance.
L’avantage de ce système, en comparaison à une base de donnée fourni
par l’éditeur, est de pouvoir gérer suivant son activité sa propre analyse antispam. En effet, d’une entreprise à
l’autre, les critères ne sont pas forcément les même.
Par exemple, une entreprise
uniquement
française, sans partenariat ni client étranger
pourra indiquer comme critère
la
langue et ainsi refuser
les
messages dans une autre
langue que
le français et limiter la quantité de spam.
8.1.2. Une solution par validation de l’émetteur
Une autre solution est apparue récemment qui permet de limiter un grand
nombre de spam. Cette solution part du principe qu’un spammer (émetteur de spam) utilise toujours une autre
adresse que la sienne, voir une adresse non valide qui ne servira donc pas pour recevoir une réponse.
Dans le principe, ce système mettra en attente un message reçu, il ne
sera donc pas délivrer dans la boite de l’utilisateur. Le déblocage s’opéra après une action de la part de
l’émetteur. En effet, on renvoie à l’expéditeur du message un mail avec un lien à l’intérieur lui indiquant que son
message sera autoriser après validation de son adresse email par ses soins.
Une fois que l’émetteur a cliqué sur le lien, alors il est autorisé par
le système et le message est délivré. Cette «
authentification » est valable
pour une
certaine durée, l’émetteur
pourra donc
envoyer plusieurs mails aux destinataires du domaine protégé sans avoir de validation à chaque
fois.
L’inconvénient d’une telle solution est la validation requise de
l’émetteur. Dans le cas d’une activité commerciale, il
est difficile d’utiliser ce
type de
solution ou l’on demanderait
à un
futur client une action
lors de
l’envoi d’un simple message de demande d’information par exemple.
Le
second problème que l’on
pourrait
rencontrer provient de
l’usurpation d’une
adresse d’émetteur. Ainsi l’émetteur
légitime recevra la demande
de
confirmation sans avoir envoyé
de
sollicitation. Il est également possible de qu’un émetteur soit approuvé et que son adresse soit usurpé
par un spammer pendant la durée de son approbation, le spam passera alors au travers du système.
8.1.3. Une solution en partenariat avec le DNS
Une dernière solution apparue également récemment est la vérification
de l’émetteur par une résolution DNS, le SPF (Sender Policy Framework). Le principe retenu ici réside dans la
vérification de l’adresse émetteur qui n’est pas géré par le protocole SMTP lui-même. Lors d’une connexion SMTP, le
serveur de messagerie destinataire va faire une requête DNS sur un type d’enregistrement SPF pour récupérer
les adresses IP de serveur autorisés à envoyer du courrier électronique pour le domaine indiqué dans la
commande MAIL FROM (domaine de l’expéditeur du message). Ainsi, on limitera l’usurpation d’adresse d’émission d’un
message et directement à la connexion au serveur
SMTP, avant l’émission du
message.
Si le serveur émetteur
du message
n’est pas référencé dans les adresses IP du champ SPF, alors la connexion sera tout simplement
refusée.
Remarques : le protocole SMTP vérifie uniquement que les caractères du
champ MAIL FROM correspondent à une adresse email, que celle-ci comporte en fait le caractère ‘@’.
Cette
solution tant à résoudre
le
problème du spam mais
elle est
difficile à mettre en
place. En
effet, chaque domaine de courrier
électronique n’est pas
référencé encore
dans les champs SPF.
Il faudrait
donc déjà généraliser cette pratique.
De plus, les utilisateurs ont la possibilité d’envoyer depuis leur
domicile, donc depuis leur connexion internet, des courriers
électroniques en indiquant leur
propre
adresse de messagerie, privée
ou
professionnel. Dans ce cas précis,
ils utilisent le serveur
de leur
fournisseur d’accès. Ce serveur
ne
correspond pas forcément à
celui du domaine
de l’adresse du client,
il sera
alors certainement refuser lors
de
la requête DNS sur le
champ
SPF. Il faudrait donc rajouter les
entrées correspondantes aux
adresses IP
de l’ensemble des serveurs
que vous
êtes susceptible d’utilisé pour le
domaine de votre entreprise,
votre
propre domaine, ou les
domaines d’autres fournisseurs auprès des quels vous êtes inscrits. Une solution, pour
éviter ces enregistrements nombreux auprès des serveurs DNS, serait d’utiliser toujours un webmail correspond à
votre adresse électronique.
8.1.4. Conclusion sur la lutte contre le spam
Si
on essaye de dresser
un bilan
des différentes solutions pour
lutter
contre le spam, on
s’aperçoit qu’aucune n’apporte de réponse définitive à ce fléau. Si la lutte est
très contraignante, on risque de limiter le spam mais d’avoir
un phénomène de faux
positifs trop
important. C'est-à-dire que des
mails
légitimes seraient considérés comme du spam.
Les
dernières solutions dans cette
lutte
semblent prometteuses mais elle
pas
dans un cadre général,
il faudra plutôt y penser dans le cadre d’une entreprise particulière, suivant
ses besoins et son activité.
Pour le moment, le mieux revient à essayer de multiplier les solutions,
en incorporant les deux propositions sur le filtrage par exemple pour limiter un maximum le stockage de message non
sollicité dans la boite de réception des utilisateurs.
9. Conclusion
9.1. Avantages
La
messagerie électronique est
actuellement
un moyen de communication
majeur
dans l’entreprise, entre entreprises ou entre particuliers.
Elle
fait l’objet d’une attente
de plus
en plus importante :
intégration de
la circulation d’information,
outils de travail coopératifs.
Elle est également en évolution permanente pour des messageries
standards ou propriétaires vers les standards Internet.
De plus, l’Internet est devenue dans notre société actuelle, la seule
messagerie fédératrice. C’est également une des applications les plus importantes de l’Internet.
9.2. Limitations
La messagerie à l’heure actuelle rencontre encore des problèmes de
sécurité. Cependant, il y a l’arrivé de l’ESMTP avec
une authentification et la
sécurisation
par la confidentialité,
l’intégrité du
contenu du message qui est également disponible avec le format S-MIME.
Une autre limitation serait les dérives potentielles, qui ne sont pas
gérés ou mal gérés encore à l’heure actuelle, dans l’utilisation de cette messagerie de l’internet, cette messagerie
électronique.