EXPOSE SUR LES
PROTOCOLES SMTP POP
IMAP
PRESENTEE PAR FATOU NGOFF LABOU
Plan
I. Introduction
II. Protocole SMTP
1. Présentation
2. Serveurs
3. Utilisation du protocole
4. L’ Aspect Sécurité
III. Protocole POP
1. Présentation
2. Utilisation du protocole
3. Avantages et Inconvénients
IV. Protocole IMAP
4. Présentation
5. Serveurs
6. Utilisation du protocole
7. Avantages et Inconvénients
V. POP vs IMAP: Lequel Utilise?
I. INTRODUCTION
La messagerie électronique est un service
incontournable, que ce soit pour son usage personnel,
pendant ses études ou en entreprise, on a tous une
bonne raison d'avoir une adresse e-mails dans le but
d'envoyer et recevoir des e-mails. Les trois principaux
protocoles de messagerie utilisés par un serveur de
messagerie sont : le SMTP (Simple Mail Transfer
Protocol), le POP (Post Office Protocol) et
l’IMAP (Internet Message Access Protocol). Les
protocoles sortants (SMTP) servent à gérer la
transmission du courriel entre les serveurs. Les
protocoles entrants (POP et IMAP) permettent de gérer
l’envoi des messages dans les boîtes mail. Ce sont en
quelque sorte des protocoles de réception et de
distribution des messages.
II. PROTOCOLE SMTP
1. Présentation
Définition
SMTP signifie Simple Message Transfert Protocole
(Simple Mail Transfer Protocol ), ce protocole est utilisé
pour transférer les messages électroniques sur les
réseaux.
Un serveur SMTP est un service qui écoute sur le port
25, son principal objectif est de router les mails à partir
de l'adresse du destinataire.
Détail du fonctionnement
Le service SMTP est divisé en plusieurs parties, chacune
assurant une fonction spécifique :
MUA : Mail User Agent, c’est le client de messagerie
(Exemples : Outlook, ThunderBird),
MTA : Mail Transfert Agent(agent de transfert de message), c'est
l'élément principal d'un serveur SMTP car c'est lui qui s'occupe
d'envoyer les mails entre les serveurs. En effet, avant d'arriver
dans la boite mail du destinataire, le mail va transiter de MTA en
MTA. Il est possible de connaitre l'ensemble des MTA par lesquels
le mail est passé, pour cela il suffit d'afficher la source du
message,
MDA : Mail Delivery Agent, c'est le service de remise des mails
dans les boîtes aux lettres (les espaces mémoires réservés) des
destinataires, il intervient donc en fin de la chaine d'envoie d'un
mail.
Exemple
Avant de rentrer en détail dans la description de ce protocole, il est important de
connaitre les différentes phases qui se succèdent entre l'envoie d'un mail par
l'émetteur et sa réception par le destinataire.
Dans cet exemple, Fred, qui appartient au domaine [Link], veut envoyer un mail à Marc,
qui, lui, appartient au domaine [Link].
Fred va composer son mail sur son ordinateur puis va exécuter la commande d'envoi de
son logiciel de messagerie. Le logiciel va contacter le serveur smtp du domaine [Link]
(1), c'est ce serveur qui va se charger d'acheminer (router) le mail vers le destinataire.
Le serveur [Link] va lire l'adresse de destination du mail, le domaine du destinataire
n'étant pas [Link], le serveur va alors contacter le serveur smtp du domaine [Link].
Si ce serveur existe, ce qui est le cas ici, [Link] va lui transférer le mail (2).
Le serveur [Link] va vérifier que l'utilisateur Marc existe bien dans sa liste
d'utilisateurs. Il va ensuite placer le mail dans l'espace mémoire accordé aux mails de Marc sur
le serveur (3).
Le mail est ainsi arrivé à destination. L'objectif du protocole SMTP est atteint.
Ensuite c'est le protocole POP (voir partie POP) qui est utilisé.
Lorsque Marc utilisera son logiciel de messagerie pour vérifier s'il a de nouveaux mails, le
logiciel va solliciter le serveur pop (4) afin que celui-ci vérifie si des mails sont dans l'espace
mémoire accordé à Marc (5).
S'il y a un message, le serveur pop va l'envoyer au logiciel de messagerie de Marc (6).
2. LES SERVEURS
Il existe de nombreux serveurs SMTP, voici une présentation des plus connus et utilisés.
Sendmail
La première version a été réalisée en 1983.
C'est à l'heure actuelle le MTA le plus utilisé, il représente environ 55% des serveurs SMTP.
Sa fiabilité n'est plus à remettre en cause.
Sendmail est donc le plus puissant et le plus ancien MTA mais il reste l'un des plus compliqué à
mettre en place et à maintenir.
Postfix
Postfix est considéré par beaucoup comme étant la meilleure alternative à Sendmail.
En effet, ce sérieux challenger est le principal concurrent de Sendmail dans le domaine
des MTA UNIX.
Postfix est d'ailleurs installé par défaut dans les nouvelles distributions grand public telles
que Mandrake.
Exim et Smail
Il existe plusieurs serveurs SMTP moins connus mais tout aussi fiable, Exim et Smail en
sont de bons exemples.
Ces serveurs sont simples (et donc n'offre pas de fonctionnalités avancées, mais peuvent
suffir dans certains cas).
Exim est d'ailleurs le MTA par défaut de la distribution Debian.
Windows
Enfin, sous l'OS Windows, il existe aussi des serveurs SMTP.
Sous WindowsXP et Windows2000, un service SMTP est inclus.
Il existe aussi plusieurs freewares tels que FTGate.
Néanmoins, aucun n'a réellement de succès face aux serveurs UNIX.
3. UTULISATION DU PROTOCOLE
Principe d’ utilisation
SMTP est un protocole de type client / serveur.
]
En effet, il y a une session qui s'établit entre le programme client et le serveur SMTP.
Durant cette session, un jeu de commandes est utilisé.
Chaque commande envoyée par le client est suivie d'une réponse du serveur.
La réponse est de type :
<code><ms>[<précisions>]
Par exemple, la réponse suivante indique que la commande passée a correctement
été reçue et appliquée par le serveur : 250 ok
Les différentes commandes
Les commandes sont présentées dans l'ordre chronologique d'utilisation.
Il faut tout d'abord s'identifier auprès du serveur, on passe donc le nom de sa
machine en paramètre de la commande :
Hello <nom_de_machine>
On spécifie l'adresse de l'expéditeur du mail via la commande :
MAIL FROM : <adress_email_expediteur>
On indique l'adresse du destinataire du mail via la commande :
RCPT TO:<adresse_email_destinataire>
Il faut ensuite entrer le corps du mail grâce a la commande suivante :
DATA<cr>
On entre alors le texte du message normalement, bien sûr aucune mise en forme
n'est disponible.
• Plusieurs options sont disponibles, telle que la spécification de la date d'envoie du
mail :
Date: <date_voulue>
• Il est aussi possible de spécifier un objet au mail :
Subject: <objet>
• On peut également ajouter des destinataires en copie conforme :
Cc: <adresse_mail>
• Enfin, il faut terminer le corps du mail par la commande suivante :
.<cr>
• Pour clore le dialogue avec le serveur SMTP, on utilise la commande :
QUIT
Exemple d’utilisation
Il est possible d'exécuter un telnet
sur un serveur
smtp (port 25), et de passer les
commandes soi-même.
Voici un exemple de ce qu'il
est possible de faire :
Dans cet exemple, je me suis
envoyé un mail
en spécifiant l'expéditeur comme
étant drevuz@[Link].
Et voici ce que j'ai obtenu dans
mon logiciel de messagerie :
De cette manière, il est donc aisé de réaliser de faux mails, mais attention il ne faut pas
en abuser !
4. L’Aspect Sécurité
Les messages circulent en clair sur le réseau
Un des principaux défauts du protocole SMTP est que les messages circulent en clair sur
le réseau.
Ainsi il est possible à l'aide d'un sniffer de capturer les trames. Celles-ci n'étant pas
cryptées, on peut alors y lire les données.
Pour contrer cela de plus en plus de gens ont recours à une méthode de chiffrage de
leurs mails importants.
Les faux mails (fakemails)
Comme vu lors de la partie utilisation, de part les commandes disponibles via le telnet il
est possible de se faire passer pour n'importe quelle personne lors de l'envoi d'un mail.
Ceci peut malheureusement être utilisé à des fins malhonnêtes.
Le spam
Si le serveur est mal configuré, il peut servir de serveur relais.
Cette technique est très utilisée par les spammeurs qui sont toujours en quête de
serveurs mal sécurisés.
Par ce biais ils peuvent envoyer leurs messages de spam tout en étant difficilement
repérables.
Les sociétés qui développent les serveurs SMTP distribuent désormais leurs serveurs
avec l'option de relayage désactivée.
De plus il existe des modules à rajouter à un serveur et qui permettent de stopper la
diffusion de spam par le serveur (Exemple : spamassassin).
III. Protocole POP
1. Présentation
Définition
POP signifie Post Office Protocol. Actuellement c'est la version 3 qui est utilisée.
Le service POP écoute sur le port 110 d'un serveur.
Objectif
Le protocole POP a un objectif précis : permettre à l'utilisateur de relever son courrier
depuis un hôte qui ne contient pas sa boîte aux lettres.
En d'autres termes, POP établie un dialogue entre le logiciel de messagerie (MUA) et la
boîte aux lettres de l'utilisateur sur le serveur.
Fonctionnalités
POP est avant tout un protocole très simple, de ce fait il ne propose que des
fonctionnalités basiques:
• Délimiter chaque message de la boite aux lettres,
• Compter les messages disponibles,
• Calculer la taille des messages,
• Supprimer un message,
• Extraire chaque message de la boite aux lettres.
Malgré tout, ces fonctionnalités sont amplement suffisantes pour répondre aux besoins
de la plupart des utilisateurs.
2. UTULISATION DU PROTOCOLE
Principe d'utilisation
Tout comme SMTP, POP est un protocole de type client / serveur.
Toujours comme SMTP, POP utilise un jeu de commandes spécifiques lors d'une session
entre le programme client et le serveur.
Chaque commande envoyée par le client est suivie d'une réponse du serveur.
Par exemple, la réponse suivante indique que la commande passée a correctement été
reçue et appliquée : +ok
Le format de réponse suivant indique une erreur au niveau du serveur :
-ERR <raison>
Les différentes commandes
Les commandes sont présentées dans l'ordre chronologique d'utilisation.
• Il faut tout d'abord s'identifier auprès du serveur :
USER <nom_utisateur>
• Le serveur requiert un mot de passe afin de valider la connexion :
PASS <mot_de_passe>
• Pour connaitre le nombre de message présents sur le serveur ainsi que la taille totale
des messages :
STAT
• Pour lister les messages sur le serveur, avec, pour chacun, le numéro d'ordre dans la
file de messages et la taille en octets :
LIST
• Pour récupérer un message :
RETR <id_msg>
• Pour récupérer les x premières lignes d'un message (l'en-tête et le début du
message) :
TOR <id_msg> <nbr_de_lignes>
• Pour effacer un message :
DELE <id_msg>
• Pour clore la session avec le serveur :
QUIT
Exemple d’utilisation
Il est possible d'exécuter un telnet sur un serveur POP (port 110), et de passer les
commandes soi-même.
Voici un exemple de ce qu'il est possible de faire :
Cette première phase permet de
s'authentifier et de recueillir les principales
informations concernant notre compte
mail.
Avec la commande retr 1, on choisit
d'afficher le message d'id 1:
Tout le corps du message ainsi que toutes les infos de son en-tête sont alors
visibles.
On quitte la connexion avec le serveur, celui-ci acquitte la commande.
3. Avantages et Inconvénients
Simplicité
Le service POP3 est très simple mais propose toutes les fonctionnalités nécessaires
pour la gestion d'un compte mail.
Ainsi, de part son efficacité, POP3 reste l'un des protocoles les plus utilisés pour
récupérer ses mails.
Mot de passe
POP3 présente tout de même quelque points faibles notamment le fait que le mot de
passe circule en clair sur le réseau lors de l'établissement de la connexion avec le
serveur.
Ainsi, une personne malhonnête équipée d'un sniffer peut le récupérer et l'utiliser à
mauvais escient.
Le talon d'Achille
Le gros point noir de POP3 réside dans le fait de l'impossibilité de choisir les messages
que l'on souhaite rapatrier.
En effet, si, par exemple, on a une quarantaine de messages dans notre boite aux
lettres sur le serveur, que les premiers soient du spam ou même des messages d'amis
mais avec des pièces jointes assez conséquentes et que les messages qui nous
intéressent soient en fin de boite aux lettres.
Si, de plus, nous n'avons qu'une connexion bas débit et de mauvaise état, c'est-à-dire
des coupures régulières et des pertes de paquets aléatoires (si si, ça arrive encore de
nos jours !), il nous sera alors impossible de télécharger les premiers messages et
donc par conséquent les messages urgents en fin de boite aux lettres non plus.
• IV. Protocole IMAP
[Link]
Définition
• IMAP signifie Internet Message Access Protocol, la version actuellement utilisée est la
4.
Le service IMAP écoute sur le port 143 d'un serveur.
Alternative plus évoluée
• Tout comme POP, IMAP est un protocole de récupération de mails. IMAP4 se pose donc
comme une alternative a POP3.
Non seulement IMAP propose plus de services que POP, mais ceux-ci sont aussi plus
évolués.
Une des principales nouveautés est la possibilité de pouvoir lire uniquement les objets
des messages (sans le corps).
Ainsi on peut par exemple effacer des messages sans les avoir lus.
Stockage des mails sur le serveur
• Contrairement au protocole POP où tous les mails sont rapatriés du serveur vers le
logiciel de messagerie du client, avec IMAP, les mails restent stockés dans des dossiers
sur le serveur.
Ceci permet de proposer de nombreuses fonctionnalités très pratiques, telles que :
• créer des dossiers sur le serveur,
• effacer, déplacer des messages sans les lire, éventuellement avec des règles de tri
automatique,
• rapatrier en local certains messages et pas d'autres, en faisant une copie ou un
déplacement,
• lire des messages en les laissant sur le serveur,
recopier sur le serveur des messages qui sont en local.
2. SERVEURS
Il existe plusieurs serveurs IMAP, mais deux sortent du lot et dominent le marché.
Ces deux serveurs fonctionnent différemment, voyons cela plus en détail.
UW-IMAP
UW-IMAPD est développé par l'université de Washington aux USA.
Il utilise le format "mailbox" pour stocker les messages. C'est un format classique que les
MDA savent généralement bien gérer.
En fait, les messages sont enregistrés dans un fichier unique, pour un utilisateur donné.
Le plus souvent, chaque utilisateur devra disposer d'un compte sur le serveur, même si
ce compte ne lui permet pas d'ouvrir une session shell.
Les dossiers IMAP que le client peut créer se situent au même niveau que INBOX et
chaque dossier créé correspond sur le serveur à un fichier.
Ce genre de serveur est extrêmement facile à installer.
Cyrus
Cyrus est développé par l'université de Carnegie Mellon aux USA.
Il s'appuie sur le format "maildir" pour stocker les messages.
Les messages sont stockés chacun dans un fichier séparé, rangés dans un répertoire par
utilisateur.
Les utilisateurs peuvent être enregistrés dans une base de données, un annuaire LDAP et
n'ont absolument pas besoin de disposer d'un compte UNIX sur la machine serveur.
Ce serveur est plus souple, plus sûr, offre plus de possibilités et, bien entendu, est
beaucoup plus difficile à installer et à configurer.
autres serveurs
D'autres serveurs existent, comme courier-imap. Il est plus proche de Cyrus que de UW-
imap et utilise lui aussi le format ‘Maildir’ .
3. UTILISATION DU PROTOCOLE
Principe d'utilisation
IMAP, à l'instar de POP ou SMTP, est un protocole de type client / serveur.
Lors d'une session, le client utilise un jeu de commandes spécifiques pour discuter avec
le serveur.
Le client peut envoyer plusieurs commandes sans obligatoirement attendre à chaque fois
la réponse. Un tag précédant chacune des commandes doit être ajouté afin de permettre
au serveur de retrouver facilement la réponse à une commande donnée.
De plus chaque commande envoyée par le client est suivie d'une réponse par le serveur
de la forme suivante en cas de réussite :
<tags> OK <commandes> completed
Les différentes commandes
Le nombre de commandes mises à disposition par un serveur IMAP est beaucoup plus
important qu'en POP (25 contre 12).
Je ne vais pas détailler l'ensemble des commandes ici mais seulement les principales.
Pour avoir plus de renseignements sur les autres commandes, google saura vous aider ;-)
Les commandes présentées ici sont dans l'ordre chronologique d'utilisation.
• Il faut tout d'abord s'authentifier auprès du serveur :
Login <user> <mot_de_passe>
• Il faut ensuite choisir la boite aux lettres que l'on souhaite utiliser :
Select inbox
• La commande Fetch est très puissante elle permet de faire de nombreuses et diverses
sélections auprès de la liste des messages et des messages eux-mêmes :
Fetch <id(s)_msg(s)> <action>
• Enfin pour quitter la session de dialogue avec le serveur :
Logout
Exemple d'utilisation
Il est possible d'exécuter un telnet sur un serveur IMAP (port 143), et de passer les
commandes soi-même.
Voici un exemple de ce qu'il est possible de faire :
La commande avec le tag a1 sert à s'authentifier auprès du serveur.
Ensuite je choisi de travailler dans le dossier INBOX avec la commande précédée du
tag a2.
Puis je choisie d'afficher la taille de chacun des messages avec la commande précédée du
Enfin, je décide de connaitre le corps du message 1 avec la commande a4.
La commande a5 clôt la session avec le serveur.
4. AVANTAGES ET INCONVENIENTS
Avantages
Etant donné les fonctionnalités implémentées dans IMAP (voir partie précédente), celui-ci
est donc plus puissant que POP.
Voici les points forts par rapport à POP :
• permet de gérer plusieurs accès simultanés
• permet de gérer plusieurs boîtes aux lettres
• permet de trier le courrier selon plus de critères
• protection contre les virus
Finalement on pourrait presque assimiler IMAP à un Webmail.
Sous-exploité
IMAP n'est pas aussi répandu que POP, peut-être parce que certains logiciels de
messagerie (MUA) ne l’exploitent pas correctement.
Outlook fait parti des ces MUA qui n'utilisent pas 100% des fonctionnalités implémentées
dans IMAP. Ainsi, si on limite l'utilisation d'IMAP aux fonctionnalités de POP, autant utiliser
ce dernier.
De plus, les serveurs IMAP sont pus complexes à installer et à maintenir que les serveurs
POP. Les Fournisseurs d'Accès à Internet ne proposent donc le plus souvent que les
protocole POP à leurs adhérents.
V. POP vs IMAP: Lequel utilise?
Un choix personnel
Le choix dépend essentiellement de la manière dont on travaille, à savoir si l'on doit
accéder à ses messages depuis plusieurs postes de travail dans l'Ecole ou ailleurs, ou
encore si on ne lit ses messages que depuis son seul poste de travail et donc aucune
raison de vouloir faire de la gestion de messages sur le serveur.
Dans le premier cas, on choisira le protocole IMAP et dans le second, le protocole POP3.
Il n'y a évidemment pas de protocole idéal pour tous.
Récapitulatif POP3
Le protocole POP est à conseiller si l'on est dans une (ou plusieurs) des situations
suivantes:
• une ligne haut débit.
• consultation des mails depuis un poste unique.
• volonté de lire ses mails en mode hors-ligne.
• volonté de rapatrier l'ensemble de ses mails et de faire ses propres sauvegardes.
Récapitulatif IMAP4
Le protocole IMAP est particulièrement utile à toutes les personnes qui se déplacent
souvent et qui désirent consulter leur messagerie depuis n'importe quel ordinateur
connecté à Internet:
• professeurs et assistants en déplacement,
• secrétaires dans leurs multiples affectations,
• étudiants entre une salle de machines et une autre,
• collaborateurs à leur poste de travail ou à la maison.
Ce protocole peut aussi être très utile si l'on a une ligne bas débit et peu fiable.
la plupart des FAI fournissent désormais des boites mails d'une capacité de 100Mo, ce qui
est suffisant.
VI. CONCLUSION
Si aujourd'hui, l’envoi d’un email est particulièrement facile, cela n’a
pas toujours été le cas. Sans nous en rendre compte, l’email que nous
envoyons enclenche un mécanisme complexe entre les appareils et les
serveurs, qui repose sur une série de protocoles. Le système a été
automatisée et standardise au fil des années, rendant ce moyen de
communication encore plus efficace. Chaque étape du processus
implique potentiellement un système diffèrent, avec des programmes
de messageries électroniques particuliers. Ainsi, les protocoles permette
la transmission de l’information en bonne et due forme.
Merci de votre aimable attention!!!!!!