Vous êtes sur la page 1sur 53

République Algérienne Démocratique et populaire

Ministère de l’enseignement Supérieur et de la Recherche Scientifique


Université des Sciences et de la Technologie Houari Boumediene

Chapitre 4
Service messagerie et service d’application
-Cours 1-
Mustapha HEMIS

Labo 06 FGE
E-mail: hemismustapha@yahoo.fr

©2022 1
Plan

Service messagerie
Serveur de messagerie
Courrier électronique vs courrier postal
Organes principaux
Interaction entre les différents organes
Principe de fonctionnement
Acheminement d’un message
E-mail et DNS
Les protocoles de messagerie
Le protocole SMTP
Etapes de communication
Exemple de communication
ESMTP (Extended SMTP)
Plan (suite)

Le Protocole POP3
Commandes
Exemple de communication
Le Protocole IMAP
Diagramme d’état
Commandes
Résultats
Exemple de communication
Structure des courriers
L’enveloppe
L’entête
Le corps de message
Plan (suite)

Le format MIME
Entête
Type de contenu
RFC principales
Service messagerie
Serveur de messagerie

 Lorsque vous envoyer un mail, ce dernier est transmis d'une machine à l'autre à
travers le réseau Internet jusqu'à la destination finale.
 Les machine chargé d’acheminer les courrier électronique sont les serveur de
messagerie
 Le serveur messagerie joue, en quelque sorte, le rôle de bureau de poste.
 En tant qu’utilisateur final, vous n’êtes jamais en lien direct avec ce serveur de
messagerie.
 Le programme servant d’interface pour l’utilisateur est le client de messagerie
Courrier électronique vs courrier postal

Cheminement du courrier postal : Cheminement du courrier électronique:

Etape 1 : Vous rédigez un message et le glissez Etape 1 : Vous rédigez un message sur votre
dans une enveloppe ordinateur
Etape 2 : Vous postez votre courrier via votre Etape 2 : Votre mail est envoyé grâce au
bureau de poste protocole SMTP (Le serveur SMTP joue le rôle
Etape 3 : La Poste envoie le courrier au de la Poste)
destinataire Etape 3 : Votre courrier électronique est
Etape 4 : Vous trouvez votre courrier, à votre envoyé au serveur POP ou IMAP du
adresse, dans votre boîte aux lettres destinataire
Etape 4 : Vous consultez votre mail, en vous
connectant à votre boîte aux lettres
électronique
Organes principaux

 L’architecture de la messagerie est constituée de trois organes principaux qui


coopèrent et communiquent par le bais de protocoles.
 Mail User Agent (MUA) Processus du poste client permettant de rédiger, envoyer
et lire les messages. Logiciel de type : Outlook Express, Thunderbird
 Mail Transfert Agent (MTA) Processus Serveur permettant d’acheminer les
courriers.
 Mail Delivery Agent (MDA) Processus Serveur qui délivre les messages dans les
boîtes aux lettres utilisateurs.
Interaction entre les différents organes
Internet
 Le MUA consulte son fichier de
configuration pour savoir à quel MTA
MTA envoyer le message. MTA MTA Courrier à destination du
 Les différents MTA répartis sur réseau local
l'internet interagissent au travers Courrier à destination de
l’Internet
d'un port 25
MTA
 Le MTA connaît le MDA grâce à son Distribution au MDA

fichier de configuration.
MDA Envoie
d’un mail
Distribution à
l’utilisateur
MUA
Boite à lettres
Consultation
du mail
Principe de fonctionnement

 Deux types de serveurs, ayant chacun des modes de fonctionnement (protocoles)


particuliers, sont utilisés :
 Les serveurs d'envoi, appelés serveurs SMTP.
 Les serveurs de réception, POP et IMAP.

SMTP POP/IMAP
Votre PC

Internet
Acheminement d’un message
Serveur
DNS

3 Système messagerie
Système messagerie
destinataire
émetteur 4 5
MTA Internet MTA
6

2 MDA
Mailbox MDA Mailbox

8
MUA MUA

1 7

Bob: bob@usthb.dz Alice: alice@enp.dz


Acheminement d’un message

Etape 1. Composition du message: l’usager Bob compose, avec l’aide de son client de
messagerie (MUA) un message au destinataire Alice.
 Le message peut être stocké dans la file d’attente du MUA si son expédition n’est
pas immédiatement possible.
Etape 2. Envoie du message: Le message est transmis au MTA de l’usager Bob en SMTP
 Lors de la réception du message, Le MTA stocke le message temporairement en
local, analyse le(s) destinataires, puis décide soit de le délivrer (adresse locale) ou
de le forwarder à un autre MTA (chemin de routage).
Etape 3. Résolution DNS: Le MTA de USTHB envoie une demande au serveur DNS pour
connaître le MTA correspondant du destinataire. Cela se fera à l'aide de l'enregistrement
MX.
Acheminement d’un message

Etape 4. Transmission du message: Le message est transmis au serveur de messagerie du


destinataire (en SMTP).
Etape 5. Réception du message : Le MTA transmet le message au MDA chargé de le
stocker.
Etape 6. Stockage du message : Le MDA stocke le courrier dans la boite à lettres du
destinataire.
 Deux format sont généralement utilisés: mbox et maildir
Etape 7. Restitution et lecture des message: Sur requête du destinataire, les messages
sont extraits de la boite à lettre et transmis au MUA de Alice (protocoles POP ou IMAP).
Etape 8. Consultation du message: Le destinataire Alice consulte ses messages en
utilisant son client de messagerie (MUA).
 Alice a deux choix: (1) lire le message stocké dans sa boîte aux lettres du serveur sans
le télécharger à l'aide de programme de messagerie Web. (2) Télécharger le message
dans la boîte aux lettres locale en utilisant un client messagerie lourd.
E-mail et DNS

 Le protocole SMTP est bien sûr dépendant du DNS, comme tout protocole utilisant des
noms de domaine.
 DNS comprend une caractéristique conçue spécialement pour le courrier électronique:
les ressources records (RR) de type MX (Mail eXchanger).
 Les enregistrements MX fournissent les informations de routage du mail. Ils indiquent
les MX pour les domaines c.-à-d., les noms des serveurs de mail qui vont traiter les
mails d’un nom de domaine.
E-mail et DNS

MX de enp.dz?
Transfer de mail via
SMTP à:
192.168.1.12 mail.enp.dz

A de mail.enp.dz

192.168.1.12
MTA de MTA de Serveur DNS de
l’ENP l’USTHB l’USTHB
E-mail et DNS

 Un domaine peut avoir plusieurs mail exchangers, avec un ordre de préférence sur les
enregistrements MX.
 Exemple:
IN MX 10 mail1.usthb.dz.
IN MX 20 mail2.usthb.dz.
IN MX 30 mail3.usthb.dz.
 Tout les courriers adressé au domaine usthb.dz doivent être en réalité envoyé au
serveur mail mail1.usthb.dz.
 Les deux autres enregistrements MX permet de re-router les courriers en cas de
problème.
Les protocoles de messagerie

 SMTP
 Envoi et routage des messages
 POP
 Récupération des messages.
 Messages complets uniquement
 IMAP
 Récupération des messages.
 Lecture des entêtes de messages Lecture sans pièces jointes
Le protocole SMTP

 SMTP: Simple Mail Transfert Protocol


 Il permet d'envoyer des messages texte ASCII vers des hôtes disposant de services de
courrier.
 Il utilise le port 25
 Il utilise TCP pour le transfert des données.
 Il et est décrit dans la RFC 821 et mis à jour par la RFC 5321
.
Le protocole SMTP – Etapes de communication

 Chaque session SMTP entre l'expéditeur et le récepteur se compose de trois phases:


1. Etablissement de la connexion: une session est établie par la création d'une
connexion TCP. Dans cette phase, des informations d'identification sont
échangées entre le l'expéditeur et le destinataire utilisant la commande HELO ou
EHLO.
2. Transaction du message: Dans cette phase, plusieurs transactions sont
effectuées pour transférer le courrier de l'expéditeur vers le récepteur.
3. Terminaison de la connexion: Après avoir terminé la transactions du courrier, le la
troisième phase commence dans laquelle l'expéditeur SMTP utilise la commande
QUIT pour mettre fin à la session SMTP.
Le protocole SMTP – Etapes de communication

1. L'expéditeur établit une connexion TCP avec


le récepteur sur un port TCP 25.
2. Le récepteur envoie une réponse
d'acceptation de connexion à l'aide d'un code
(220).
 La réponse comprend également des
informations sur le serveur, y compris le
nom du serveur et la version du Logiciel.
3. L’expéditeur envoi la commande HELO ou
EHLO (en cas d'ESMTP) qui comprend
également le nom de domaine du client.
Le protocole SMTP – Etapes de communication

4. Après réception de la commande HELO, le


récepteur SMTP réponds avec le code de
service (250) avec ses extensions ESMTP prises
en charge.
5. L’expéditeur est maintenant prêt à envoyer le
message.
Le protocole SMTP – Etapes de communication

1. La commande MAIL FROM qui inclut


l'identification de l'expéditeur est délivré par
l'expéditeur.
2. Le récepteur répond par le (250) validant
l'expéditeur.
 Il peut également refuser la réception
d'e-mails pour des raisons de sécurité.
3. Le récepteur envoie une commande RCPT TO
avec l'adresse email du destinataire.
4. Le récepteur SMTP vérifie si l’adresse du
destinataire existe et si oui, il renvoie un accusé
(250) validant la réception du message.
Le protocole SMTP – Etapes de communication

5. Avant de commencer le transfert de message


proprement dit, l’expéditeur SMTP envoie une
autre commande «DATA» juste pour s'assurer
que le côté serveur est prêt.
6. Le récepteur SMTP répond avec le code
"354" indiquant qu'il est prêt à recevoir le
message.
7. Le message électronique réel est envoyé
ligne par ligne par la commande DATA.
8. le serveur n'accuse pas réception de chaque
ligne individuelle reçue. Il attend la fin du
message.
Le protocole SMTP – Etapes de communication

9. La fin de la transmission est indiquée par la


transmission d’un «.» via la commande DATA.
10. Une fois que le serveur a reçu le «.», Il
accuse réception de l'intégralité du message en
renvoyant un code 250 au client.
11. L’expéditeur reçoit l’accusé de réception et
passe à la phase de terminaison de connexion
Le protocole SMTP – Etapes de communication

1. L'expéditeur émet une commande QUIT pour


mettre fin à la session.
2. Le récepteur émet un code de service (221)
indiquant la réussite terminaison de connexion.
3. Fin de processus de communication
Le protocole SMTP – Exemple de communication
ESMTP (Extended SMTP)

 C’est une extension de SMTP. Le format ESMTP a été retraité dans la RFC 2821
(remplaçant la RFC 821) et mis à jour vers la dernière définition de la RFC 5321 en
2008.
 La principale caractéristique d'identification des clients ESMTP est l’ouverture d’une
transmission avec la commande EHLO (Extended HELLO), plutôt que HELO.
 Un serveur ESMTP renvoie le code 250 OK dans une réponse multiligne avec son
domaine et une liste de mots clés pour indiquer les extensions prises en charge.
 Certains extensions courantes utilisés aujourd'hui sont:
 8BITMIME – Transmission de données 8 bits, RFC 6152
 AUTH –SMTP avec authentification, RFC 4954
 CHUNKING – Envoyer des corps de message volumineux en plusieurs blocs de plus
petite taille, RFC 3030
ESMTP (Extended SMTP)
 DSN – Notification d'état de livraison, RFC 3461
 HELP – Fournir des informations utiles, RFC 821
 PIPELINING – Command pipelining, RFC 2920
 SIZE – Déclaration de la taille du message, RFC 1870
 STARTTLS – Prendre en charge le cryptage TLS, RFC 3207
 SMTPUTF8 – Autoriser UTF-8 codage dans les noms de boîtes aux lettres et les
champs d' en- tête, RFC 6531
ESMTP (Extended SMTP) – exemple de transaction
Le Protocole POP3

 POP: Post Office Protocol


 POP3 est décrit dans la RFC 1939.
 Il utilise TCP comme protocole de transport sur le port 110.
 POP3 n'est utilisé que pour télécharger les messages du serveur vers la station de
travail,
 Tout comme dans le cas du protocole SMTP, le protocole POP3 fonctionne grâce à des
commandes textuelles envoyées au serveur POP.
 Chacune des commandes envoyées par le client est composée d'un mot-clé,
éventuellement accompagné d'un ou plusieurs arguments
 Les réponses du serveur POP sont composées d'un indicateur d’état et d'un message
descriptif. Il y a deux indicateurs d'état: positif ("+ OK") et négatif ("-ERR").
Le Protocole POP3 -- Commandes

 Commandes principales
 USER nom_de_votre_compte : généralement, ce qui se trouve avant le « @ » de l'
adresse électronique
 PASS mot_de_passe : le mot de passe pour accéder à la boîte de courrier
 DELE numéro_du_message : efface le message spécifié ;
 LIST : donne une liste des messages ainsi que la taille de chaque message
 RETR numéro_du_message : récupère le message indiqué ;
 STAT : indique le nombre de messages et la taille occupée par l'ensemble des messages ;
 NOOP : ne rien faire, utile pour ne pas perdre la connexion et éviter un « délai d'attente dépassé » ;
 RSET : réinitialise complètement la session ;
 QUIT : quitter la session en cours ;
 Commandes optionnelles
 APOP : permet une authentification sécurisée (le mot de passe ne transite pas en clair) ;
 TOP numéro_du_message nombre_de_lignes : affiche les premières lignes du message.
 UIDL : affiche (pour un seul ou pour tous les messages) un identifiant unique qui ne varie pas entre
chaque session ;
Le Protocole POP3 – Exemple de communication
Le Protocole IMAP

 IMAP: Internet Message Access Protocol


 Contrairement à POP, IMAP permet de manipuler les messages directement sur le
serveur
 IMAP4 utilise le port TCP 143 et est décrit dans la RFC 3501
 Ces principales fonctionnalités sont les suivantes :
 Accéder et manipuler des portions de messages sur le serveur sans avoir à les
télécharger
 Voir les messages et les pièces jointes sans les télécharger
 Télécharger tous les messages pour les consulter hors connexion
 Créer, supprimer et renommer une boîte aux lettres
 Vérifier l'arrivée de nouveaux messages
 Supprimer des messages de la boîte aux lettres
 Reconnaître les en-têtes RFC 822 et décoder les messages MIME
Le Protocole IMAP -- Diagramme d’état
 Tout comme dans le cas du protocole SMTP, le protocole POP3 fonctionne grâce à des
commandes textuelles envoyées au serveur POP.
 Chaque commande client est préfixée d'un identifiant (généralement une courte
chaîne alphanumérique, par exemple A0001, A0002, etc.) appelée tag qui est unique
pour la session particulière. Une balise différente est générée par le client pour chaque
commande
 Après réception d'une commande, le serveur IMAP répond par deux types de
réponses:
 Résultat: il s'agit d'une réponse indiquant généralement l'état ou la disposition
d'une commande. Cette réponse est tagué avec le même tag que la commande
client.
 Réponse: tout type d'informations envoyées par le serveur au client. Il n'est
généralement pas tagué avec un tag de commande et n'est pas spécifiquement
destiné à indiquer l'état du serveur.
Le Protocole IMAP -- Diagramme d’état

 Une connexion IMAP entre un client et le serveur peut être dans l’une des quatre
étapes:

 État non authentifié: la session commence normalement dans cet état une fois la
connexion TCP établie, sauf si la fonction spéciale de préauthentification IMAP a
été utilisée. À ce stade, le client ne peut pas vraiment faire grand-chose en plus de
fournir des informations d'authentification afin qu'il puisse passer à l'état suivant.

 État authentifié: le client a terminé l'authentification, soit via un processus


d'authentification dans l'état précédent, soit via une pré-authentification. Le client
est désormais autorisé à effectuer des opérations sur des boîtes aux lettres
entières. Le client doit sélectionner une boîte aux lettres avant que les opérations
de messages individuels ne soient autorisées.
Le Protocole IMAP -- Diagramme d’état

 État sélectionné: Une fois qu'une boîte aux lettres a été choisie, le client est
autorisé à accéder et à manipuler des messages individuels dans la boîte aux
lettres. Lorsque le client a terminé avec la boîte aux lettres actuelle, il peut la
fermer et revenir à l'état Authentifié pour en sélectionner une nouvelle avec
laquelle travailler, ou peut se déconnecter pour mettre fin à la session.

 État de déconnexion: le client peut émettre une commande de déconnexion à


partir de n'importe quel autre état pour demander la fin de la session IMAP. La
session peut également entrer dans cet état si le temporisateur d'inactivité de
session expire. Le serveur envoie une réponse et la connexion est interrompue.
Le Protocole IMAP -- Diagramme d’état
Le Protocole IMAP -- Commandes

 Les commandes IMAP sont organisées selon l’état de session:


 Commandes «N'importe quel état»: un petit nombre de commandes qui peuvent
être utilisées à tout moment pendant une session IMAP (CAPABILITY, NOOP,
LOGOUT)
 Commandes d'état non authentifié: commandes qui peuvent être utilisées
uniquement dans l'état non authentifié. Ils sont généralement utilisés pour
l'authentification ( AUTHENTICATE, STARTTLS).
 Commandes d'état authentifié: ces commandes sont utilisées pour effectuer
diverses actions sur les boîtes aux lettres. (Notez que malgré le nom, ces
commandes peuvent également être utilisées dans l'état Sélectionné.) (SELECT,
EXAMINE, CREATE, DELETE, …)
 Commande d’état sélectionné: ensemble de commandes permettant d'accéder à
des messages individuels et de les manipuler, qui ne peuvent être utilisées que
dans l'état Sélectionné (CHECK, SEARCH, FETCH,…)
Le Protocole IMAP -- Résultats

 Résultat:
 OK: un résultat positif pour une commande
 NO: un résultat négatif pour une commande.
 PREAUTH: Un message non balisé envoyé au début d'une session pour indiquer
qu'aucune authentification n'est requise
 BYE: envoyé lorsque le serveur est sur le point de fermer la connexion.
Le Protocole IMAP -- Réponses

 Réponses:
 ALERTE: un message d'alerte à envoyer à l'utilisateur du client IMAP pour l'informer de quelque
chose d'important.
 BADCHARSET: envoyé lorsqu'une recherche échoue en raison de l'utilisation d'un jeu de caractères
non pris en charge.
 CAPABILITY: une liste des capacités du serveur; peut être envoyé dans le cadre du message
d'accueil initial du serveur, de sorte que la commande CAPABILITY n'a pas besoin d'être utilisée.
 PARSE: envoyé lorsqu'une erreur se produit lors de l'analyse des en-têtes ou du contenu MIME
d'un message électronique.
 PERMANENTFLAGS: communique une liste d'indicateurs d'état de message que le client est
autorisé à manipuler.
 READ-ONLY: indique au client que la boîte aux lettres est uniquement accessible en mode lecture
seule.
 READ-WRITE: indique au client que la boîte aux lettres est accessible en mode lecture-écriture.
Le Protocole IMAP -- Réponses

 Réponses:
 TRYCREATE: envoyé lorsqu'une commande APPEND ou COPY échoue en raison de la boîte aux
lettres cible inexistante, pour suggérer au client d'essayer de créer la boîte aux lettres en premier.
 UIDNEXT: envoyé avec un nombre décimal qui spécifie la prochaine valeur d'identifiant unique à
utiliser dans une opération. Ces identifiants permettent à chaque message d'être identifié de
manière unique.
 UIDVALIDITY: envoyé avec un nombre décimal qui spécifie la valeur de validité de l'identifiant
unique, utilisé pour confirmer l'identification unique du message.
 UNSEEN: envoyé avec un nombre décimal qui indique au client le message marqué comme non
encore vu (un nouveau message).
Le Protocole IMAP -- exemple de communication
Le Protocole IMAP -- Exemple de communication
Structure des courriers

 Un courrier électronique est structuré en 3 parties:


 L’enveloppe
 L’entête
 Le corps du message
Structure des courriers – L’enveloppe

 L’enveloppe est constituée des informations qui assurent le transfert effectif de l’émail
d’un serveur de messagerie à un autre.
 L’enveloppe est utilisé par le serveur SMTP
 Elle comprend l’adresse de l’expéditeur «MAIL FROM», l’adresse du destinataire
«RCPT TO»
Structure des courriers – L’entête

 L’entête est une partie du message qui contient les données nécessaires à la
manipulation du message.
 Elle est exploitée par lecteur de messagerie.
 Format spécifié dans la RFC 5322
 Chaque ligne d’en-tête est constitué : d’un nom de champ, du caractère ":" et des
informations de ce champ.
Type d'information Noms des champs
Cheminement du courrier Received, Return-Path
Origine du courrier From, Sender, Reply-To
Destinataire(s) du courrier To, Cc, Bcc
Identification du courrier Message-Id, In-Reply-To
Renvoi Resent-
Autres Subject, Date
Structure des courriers – Le corps du message

 Le corps du message concerne le message proprement dit que vous rédigez pour
transmettre au destinataire.
 Il sera directement intégré à l’email s’il s’agit de texte brut (ASCII).
 Dans le cas de message formaté (HTML par exemple), il prendra alors la forme d’un
encodage MIME intégré à l’email.
 Aussi, les images contenues dans le message (non téléchargées), ainsi que les pièces
jointes sont joints au message par l’intermédiaire du protocole MIME.
Le format MIME

 À l'origine, SMTP avait été prévu pour ne transférer que des fichiers textes (codés
en ASCII).
 Multipurpose Internet Mail Extensions (MIME) est un standard d’internet qui étend le
format de données des courriers pour supporter des textes en différents codage des
caractères autres que l'ASCII permettant ainsi d’insérer des images, sons, texte, etc,
 MIME apporte à la messagerie les fonctionnalités suivantes :
 Possibilité d'avoir plusieurs objets (pièces jointes) dans un même message ;
 Une longueur de message illimitée ;
 L'utilisation de jeux de caractères (alphabets) autres que le code ASCII ;
 L'utilisation de texte enrichi (mise en forme des messages, polices de caractères,
couleurs, etc.) ;
 Des pièces jointes binaires (exécutables, images, fichiers audio ou vidéo, etc.),
comportant éventuellement plusieurs parties ;
Le format MIME
Le format MIME– Entête

 MIME utilise des directives d'entête spécifiques pour décrire le format utilisé dans le
corps d'un message, afin de permettre au client de messagerie de pouvoir l'interpréter
correctement :
 MIME-Version: Il s'agit de version du standard MIME utilisée dans le message.
Actuellement seule la version 1.0 existe.
 Content-type : Décrit le type et les sous-type des données. Il peut posséder un
paramètre « charset », séparé par un point-virtule, définissant le jeu de caractères
utilisé.
 Content-Transfer-Encoding : Définit l'encodage utilisé dans le corps du message.
 Content-ID : Représente un identificateur unique de partie de message.
 Content-Description : Donne des informations complémentaires sur le contenu du
message.
 Content-Disposition : Définit les paramètres de la pièce jointe, notamment le nom
associé au fichier grâce à l'attribut filename.
Le format MIME– Type de contenu
 Le type de contenu MIME, utilisé dans l'entête Content-Type, est utilisé pour typer les
documents attachés à un courrier.
 Un type MIME est constitué de la manière suivante :
Content-type: type_mime_principal/sous_type_mime
 Une image GIF possèdera par exemple le type MIME suivant :
Content-type: image/gif
 Les types principaux de données sont les suivants :
 text: données textuelles lisibles. Ex: text/rfc822; text/plain ; text/html
 image: données binaires représentant des images numériques. Ex: image/jpeg ;
image/gif ; image/png.
 audio: données numériques sonores. Ex: audio/basic ; audio/wav
 video : données vidéos. Ex: video/mpeg
 application : données binaires autres. Ex: application/octet-stream ;
application/pdf, application/zip
Le format MIME– RFC principales
 RFC principales :
 RFC 2045: MIME Part One: Format of Internet Message Bodies
 RFC 2046: MIME Part Two: Media Types
 RFC 2047: MIME Part Three: Message Header Extensions for Non-ASCII Text
 RFC 2048: MIME Part Four: Registration Procedures
 RFC 2049: MIME Part Five: Conformance Criteria and Examples

Vous aimerez peut-être aussi