Vous êtes sur la page 1sur 41

Messagerie électronique

brevet technicien supérieur (BTS) 1


Introduction

 Principe de base

L’objectif de base d’une messagerie électronique est de transmettre,


au moyen d’un réseau d’ordinateurs, des textes courts en mode
caractère.
Terminologie utilisé : courrier électronique, courriel, ‘mail, email’.

2
Introduction

 Les fonctions de système de messagerie


Fonctions de désignation:
Les fonctions principales d’une messagerie sont: émettre et recevoir des
courriers, et pour cela on doit définir au départ un système de désignation des
entités qui s’échangent du courrier: permettant de définir le destinataire ou de
savoir qui est l'émetteur.
En général, les systèmes de messageries prévoient aussi les listes de diffusion
c'est à dire que le système de désignation doit prévoir les groupes de destinataire.

brevet technicien supérieur (BTS) 3


Introduction

 Les fonctions de système de messagerie


Fonctions d’émission du courrier: Le système de messagerie doit fournir
une interface pour l'émission des courriers et pour la transmission de fichiers
joints si la messagerie permet l’attachement de fichiers.
Fonctions de lecture du courrier (notion de files d’attente de courriers
ou boites à lettres): Symétriquement il faut définir des fonctions de récupération
du courrier et d'affichage ce qui peut être assez complexe quand les courriers
comportent des attachements multimédia.
Fonctions de gestion des archives de courriers avec classement des
courriers selon différents critères (date, taille, expéditeur)

brevet technicien supérieur (BTS) 4


Architecture des systèmes de messagerie

brevet technicien supérieur (BTS) 5


1 L'expéditeur communique son
courriel via le MUA

From:user1@domain1.net
To:user2@domain2.net
Subject:…….
……………….

brevet technicien supérieur (BTS) 6


2 Le MUA transmet ce courriel
au MTA (la plupart des MUA
intègre des clients SMTP).

From:user1@domain1.net
To:user2@domain2.net
Subject:…….
……………….

brevet technicien supérieur (BTS) 7


3 et 4 Le MTA du système de
l'émetteur établit un canal de
transmission avec le MTA du système
du destinataire, par émissions
successives de requêtes
bidirectionnelles .

From:user1@domain1.net
To:user2@domain2.net
Subject:…….
……………….

brevet technicien supérieur (BTS) 8


5 Une fois le canal établit, le
courriel est transmis d'un système
à un autre par les MTA.

From:user1@domain1.net
To:user2@domain2.net
Subject:…….
……………….

brevet technicien supérieur (BTS) 9


5 et 6: Dans le système du
destinataire, Le MTA transmet le
courrier reçu au serveur MDA

From:user1@domain1.net
To:user2@domain2.net
Subject:…….
……………….

brevet technicien supérieur (BTS) 10


7et 9  avec le protocole POP3
ou IMAP, le MDA dépose le
courriel dans la boîtes aux lettres
du destinataire qui pourra le
consulter à tout moment, sur
authentification.  

From:user1@domain1.net
To:user2@domain2.net
Subject:…….
……………….

brevet technicien supérieur (BTS) 11


Architecture des systèmes de messagerie
 Mail Transfert Agent ou MTA
C'est un agent qui permet d'acheminer le courriel d'un serveur à un autre.
Le MTA de l'émetteur route le mail sur le MTA du récepteur. Il implémente un
protocole sortant.
Notons que les protocoles sortants permettent de gérer la transmission du courrier
entre les systèmes de messagerie. Le protocole sortant généralement utilisé est
le Simple Mail Transfert Protocol ou SMTP . 
Parmi les plus connus des serveurs MTA , il y a:  Postfix, Exim, Qmail et
Sendmail.

brevet technicien supérieur (BTS) 12


Architecture des systèmes de messagerie
 Mail Transfert Agent ou MTA
Le protocole SMTP

SMTP : peut être traduit comme protocole simple de transfert de courriel . Il est


de la famille des protocoles basés sur TCP/IP. Il utilise généralement le port 25.
Le mécanisme de fonctionnement de SMTP est qu'il commence d'abord par vérifier
l'existence de l'expéditeur et du ou des destinataire (s), indiqués dans l'entête du
message, puis il transmet le contenu.
La transmission s'effectue sur un canal de communication établi entre l'émetteur et
le destinataire par émission bidirectionnelle de requêtes basées sur des
commandes.

brevet technicien supérieur (BTS) 13


Architecture des systèmes de messagerie
Configuration d'un MTA: le serveur Postfix

brevet technicien supérieur (BTS) 14


Architecture des systèmes de messagerie
Configuration d'un MTA: le serveur Postfix (fichier : /etc/postfix/main.cf)

myhostname=mail.system.com
mydomain=system.com
myorigin=$mydomain
alias_maps=hash:/etc/aliases
alias_database=hash:/etc/aliases #Il y a aussi le vide pour indiquer que les destinations peuvent etre
tout autre
mydestination=system.com, , localhost
#Dans le cas ou il n'y a pas de serveur de relais SMTP, ne rien ecrire
relayhost=
mynetworks=192.168.0.0/24, 127.0.0.0/8 #La taille maximale de la boite de reception est mise la limite.
home_mailbox=Maildir/
#La commande de recuperation des messages. Procmail est notre MDA
mailbox_command=/usr/bin/procmail

brevet technicien supérieur (BTS) 15


Architecture des systèmes de messagerie
 Mail Delivery Agent ou MDA
Il s'agit d'un agent qui est en charge de la gestion des boîtes aux lettres . Il est
chargé de livrer le courriel dans la boîte à messages du destinataire. Pour cela,
il est souvent considéré comme le point final d'un système de messagerie . 
Dans le MDA , on peut filtrer les courriels; et même supprimer les spams par
des anti-spams et contrôler les virus par des antivirus. 
Il existe plusieurs serveurs MDA, les plus courants
sont procmail, maildrop et cyrus.

brevet technicien supérieur (BTS) 16


Architecture des systèmes de messagerie
 Mail Delivery Agent ou MDA
Le protocole POP3 et IMAP

Les protocoles entrants permettent la réception et la distribution du courriel. Les


plus généralement utilisés sont :Post Office Protocol version 3 (POP3) et Internet
Message Access Protocol (IMAP), qui sont tous deux basées sur TCP/IP .
Dans son fonctionnement, POP3 va récupérer le courriel sur un serveur de
messagerie.

brevet technicien supérieur (BTS) 17


Architecture des systèmes de messagerie
 Mail Delivery Agent ou MDA
Le protocole POP3 et IMAP
IMAP est une version améliorée de POP3 qui intègre les opérations suivantes: 
-> la gestion de plusieurs accès simultanés
-> la gestion de plusieurs boîtes aux lettres 
-> la synchronisation des courriels entre le serveur et le client (les courriels ne sont
pas effacés sur le serveur de messagerie comme le fait POP3 ) 
-> le tri du courrier selon des critères
Il existe une version sécurisée de IMAP : IMAPS qui intègre le protocole
SSL (Secure Socket Layer). 

brevet technicien supérieur (BTS) 18


Architecture des systèmes de messagerie
 Mail User Agent ou MUA
Le MUA est un logiciel client de messagerie qui fournit un environnement pour la
gestion du courriel (envoi, saisie, réception, suppression, etc.). Il est très proche du
MDA. 
Il existe également plusieurs MUA :  Lotus Notes (IBM), Mail (Apple), Microsoft
Outlook, Mozilla Thunderbird.
Un MUA avec une interface Web, est appelé Webmail.

brevet technicien supérieur (BTS) 19


Sendmail

20
Sendmail
Sendmail est un serveur de messagerie électronique dont le code source est

ouvert.
Il se charge de la livraison et de l'envoi de courriers électroniques (courriels).

Descendant du logiciel ARPANET Delivermail, Sendmail est un programme très

flexible supportant un large éventail de moyens de transfert et de livraison de


courriers électroniques, incluant le populaire SMTP.
La première version de sendmail a été écrite au début des années 1980 par Eric

Allman (Université de Berkeley), qui avait également écrit Delivermail.

21
sendmail
Sendmail est très critiqué pour sa lenteur, sa complexité et sa maintenance

difficile en comparaison avec d'autres Mail Transfer Agents (MTA) tels que

Qmail et Postfix.

Toutefois, il reste le MTA le plus populaire sur Internet, ce qui est certainement

dû à sa mise en œuvre par défaut dans les différentes variantes d'Unix.

Le programme sendmail est une implémentation d'un agent de routage

de messages ainsi que d'un agent de transport spécialisé pour le protocole

SMTP

22
Composants
Sendmail est en réalité composé de plusieurs éléments :
un agent de routage de messages
un client SMTP
un serveur SMTP
une partie du traitement des courriers locaux

23
Fonctionnement en relais de messagerie
Dans son fonctionnement normal de relais de messagerie, sendmail

attend un message sur le port SMTP, puis le stocke dans la file


d'attente pour ne pas le perdre en cas de problème système.
L'agent de routage traite alors ce message, et l'envoie vers le

mécanisme de transport adéquat.


si le mécanisme de transport sélectionné est SMTP, sendmail assume

le rôle de client SMTP pour dialoguer avec la machine distante.

24
Fonctionnement en relais de messagerie
Si le mécanisme de transport est la remise physique dans une boîte

aux lettres locale, sendmail effectue quelques vérifications (fichier

aliases, fichier forward de l'utilisateur) avant d'appeler le programme

qui ajoutera le message dans le fichier servant de boîte aux lettres ;

Dans tous les autres cas, sendmail se contente d'appeler un

programme externe qui se chargera de transmettre le message avec

les protocoles appropriés.

25
Gérer le trafic de sa messagerie

26
Procmail
Procmail est un auxiliaire filtrant de délivrance de
message (MDA) entrants sur un ordinateur, son
emploi est largement répandu dans les systèmes Unix.
Typiquement couplé à un auxiliaire de transfert de
courriels (MTA) comme Sendmail en facilitant le pré-
traitement de courriels.
L'auxiliaire Formail permet l'usage de traitement par
lots (batches) d'éléments présents dans le répertoire
tampon.

27
Qu'est-ce que procmail ?
Procmail est un outil permettant principalement de filtrer des messages

électroniques (il ne faut pas oublier formail, livré avec procmail, qui est un

adjoint appréciable à ce dernier).

Il est très puissant et ses capacités de filtrage lui permettent de délivrer des

courriers dans différentes boîtes aux lettres, de les renvoyer, voire d'effectuer

n'importe quelle action en fonction du filtre désigné.

Procmail fonctionne grâce à un système de règles, qu'il parcourt les unes après

les autres, afin de déterminer si le message qu'il traite satisfait à une règle en

particulier, et exécute l'action associée à la règle trouvée, le cas échéant.

28
procmail
Les opérations habituellement exécutées sont le filtrage et le tri à l'aide d'expressions

rationnelles des courriels contenues dans les champs :

Expéditeur (from)

Destinataire (to)

Appartenance à une liste de diffusion (Mailing List)

Objet (Subject)

Corps de texte (Contenu du courriel)

Spam ( à l'aide d'un auxiliaire de détection de type SpamAssassin)

Automatisation des réponses :

Pièces jointes non conformes.

Adresse mal rédigée.

Redirection de l'adresse.

Absence du destinataire. (congés; vacances; ... ). 29


Compilation
 L'installation de procmail n'est pas très compliquée.

En général, procmail est distribué sous forme d'un paquet pour les distributions

Linux (exemple procmail_3.13.1-3.deb pour la Debian 2.2, etc.).

 Si vous ne trouvez pas de distribution binaire pour votre système, il est possible de

le compiler à partir des sources, que l'on peut trouver sur le site de procmail :

 http://www.procmail.org/procmail-3.22.tar.gz

 ou plus rapidement au Lip6 (Jussieu, Paris) :

ftp://ftp.lip6.fr/pub/unix/mail/procmail/procmail.tar.gz.

 La dernière version à ce jour est 3.22.

30
Configuration
 Il existe plusieurs manières d'appeler procmail .

 Il est en effet possible d'utiliser procmail de manière globale (procmail

peut servir de filtre général, avant même la livraison du courrier à


chaque utilisateur - pour passer un anti-virus à l'entrée du système, par
exemple), ou bien de manière individuelle (utilisation de procmail sans
disposer de droits particuliers autres que ceux du répertoire personnel).

31
Procmail comme livreur de courrier
Une manière très utile de mettre procmail à disposition de tous les

utilisateurs est de l'installer comme outil de livraison du courrier


en local.
procmail est en effet un MDA (Mail Delivery Agent, outil de

livraison de courrier), c'est-à-dire que le courrier local traité par le


serveur de courrier est envoyé à procmail pour que ce dernier place
le courrier dans les boîtes aux lettres des destinataires locaux (en
général, dans /var/mail/login).
32
Procmail comme livreur de courrier
De manière historique, c'est l'outil /bin/mail qui faisait office de livreur de courrier local,

avec Sendmail.

Il a tendance à être remplacé par procmail, car ce dernier permet aussi de filtrer le courrier

entrant.

L'un des inconvénients de procmail est qu'il est plus lourd à lancer à chaque fois qu'un

courrier doit être livré.

Par contre, une fois installé de manière globale, procmail peut servir de filtre pour les

personnes qui le désirent, et comme simple livreur de courrier pour les autres. Il suffit pour

les premiers d'avoir un fichier de configuration .procmailrc dans leur répertoire personnel. Si

ce fichier n'est pas présent, procmail livrera le courrier dans la boîte aux lettres habituelle de

la personne.

L'installation de procmail comme MDA local est relativement simple pour les serveurs de

courrier les plus courants.


33
Procmail et Postfix
Pour utiliser procmail avec Postfix, rien de plus

simple : renseignez la ligne mailbox_command du


fichier main.cf, en indiquant le chemin complet vers
procmail. Par exemple :
mailbox_command = /usr/bin/procmail

34
Configuration de procmail

35
Écriture du fichier .procmailrc
Le fichier .procmailrc est une combinaison d'assignations de variables et de recettes.

Les recettes procmail sont composées de trois parties :

l'en-tête et ses options ;

les règles de correspondance : expressions rationnelles sur les en-têtes et corps des

messages permettant de déterminer si le message va être traité par cette recette ;

l'action associée à cette recette.

La première correspondance trouvée l'emporte, et termine la lecture de .procmailrc ;

si aucune correspondance n'est trouvée, le courrier est livré dans la boîte aux lettres

par défaut (/var/mail/toto par exemple).

36
Variables
 Il est possible de définir des variables dans le fichier de configuration

.procmailrc. Certaines d'entre elles auront une signification particulière


pour procmail, alors que les autres peuvent être utilisées dans les règles
qui suivront comme des variables normales.
 Voici un exemple commenté :

37
38
Séparer le fichier en plusieurs parties
 Il est possible de scinder le fichier .procmailrc en plusieurs parties, afin

d'en améliorer la lisibilité. En fait, on peut inclure un fichier grâce à la


directive suivante :

INCLUDERC=nom_de_fichier
où nom_de_fichier est le fichier à inclure à l'endroit de la directive,
c'est soit un chemin complet, soit un chemin relatif au répertoire
courant.

On peut imbriquer des fichiers de façon illimitée sans aucun


problème.
39
Formail
 Pour retraiter une boîte aux lettres non triée avec un filtre

particulier, on peut utiliser formail, qui appellera procmail


à son tour.
Formail permet bien d'autres choses utiles, notamment

celle d'extraire des champs particuliers des en-têtes d'un


courrier, ou d'ajouter des en-têtes particuliers. Ceci peut
être utile dans le cas d'un répondeur automatique.
40
Mailstat
L'outil « mailstat », livré avec Procmail vous aide à générer des

traces de l'utilisation de procmail en économisant le temps de

lecture de ce condensé régulier(par l'utilisation de la variable

LOGFILE, par exemple).

La commande simple suivante permet de générer un résumé des

traces de procmail tout en gardant le fichier de trace intact :

mailstat –klm

41

Vous aimerez peut-être aussi