préparation à la certification LPIC2 version 3.5 en français
Chapitre : Sujet 211 : Services de courrier électronique
Gestion des courrier électronique sous GNU/Linux - Administration des serveurs Postfix, Procmail et Dovecot
Partie 2 : Distribution locale des courriels
Sujet 211.2
Format de stockage des courriels (mbox et maildir)
Mise en place et administration du MDA Procmail.
Présentation des recettes procmail.
Supports créés par Noël Macé sous Licence Creative Commons BY-NC-SA.
1. Linux LPIC2 noelmace.com
Noël Macé
Formateur et Consultant indépendant expert Unix et FOSS
http://www.noelmace.com
Distribution locale des courriels
Services de courrier électronique
Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
2. Linux LPIC2 noelmace.com
Plan
• Introduction
• Formats de stockage
Mbox
Maildir
• Procmail
Fonctionnement
Configuration
Recettes procmail
• En tête d'une recette
- En tête d'une recette :
verrouillage
• Règles de correspondance
• Actions
• Quelques exemples
4. Linux LPIC2 noelmace.com
Formats de stockage
• Définissent la manière de stocker les courriels et les mailbox
format des fichiers
hiérarchie des éventuels dossiers
etc …
• Nombreux formats
Standards : Mbox et Maildir
• tout deux reconnus par procmail
• Maildir est cependant recommandé aujourd'hui
nmh, MIX, .pst (propriétaire Microsoft), etc ...
5. Linux LPIC2 noelmace.com
Mbox
• apparu avec Unix V6 (AT&T - Mai 1975)
• format ouvert
RFC 4155 (Septembre 2005)
• un fichier texte (ASCII 7bits) par mailbox
courriels simplement séparés par une ligne vide suivie du mot "From" en début de ligne
• Désavantages :
problèmes de verrouillage
sujet à la corruption
• Avantages :
universellement supporté
• nombreuses conversions possibles
- Outlook .pst via readpst
- html via Hypermail
recherche et écriture au sain d'une
mailbox rapides
6. Linux LPIC2 noelmace.com
Maildir
• développé dans le cadre de QMail
MTA léger, modulaire et sécurisé du domaine public
par Daniel J. Bernstein (également à l'origine de daemontools)
Décembre 1995
• un dossier par mailbox
contenant lui même trois dossiers : new, cur et tmp
• Désavantages :
nombre de petits fichiers
• inefficacité de certains FS
recherche de texte des une ou
plusieurs mailbox lente
• nécessite l'ouverture de tout
les fichiers
• Avantages :
rapidité de :
• localisation
• récupération
• et suppression des courriels
peu (voir pas) de verrouillage fichier
utilisable sur des FS réseaux
n'est pas sujet à la corruption
Structure Maildir
Wikimedia cc-by-sa
7. Linux LPIC2 noelmace.com
Procmail
• MDA de référence pour les systèmes Unix
Libre (Licence GPL)
• Largement employé
en adéquation avec un MTA (Exim, Postfix, Sendmail)
• et souvent un serveur IMAP / POP tel que Dovecote pour la distribution distante
excellentes capacités de filtrage
• première version distribuée en Décembre 1990
n'est plus maintenu
• version finale 3.22 le 10 Septembre 2001
• Documentation : Procmail Documentation Project et Procmail Quick Reference Guide
8. Linux LPIC2 noelmace.com
Fonctionnement
• programme autonome
généralement appelé directement par le MTA
• Rappel : pour Postfix
n'est appelé via la ligne de commande que très rarement
• essentiellement pour des tests
• prétraitement et tri des courriels
mailinglists
anti-spam
réponses automatiques
mailbox_command = /usr/bin/procmailmailbox_command = /usr/bin/procmail
9. Linux LPIC2 noelmace.com
Configuration
• /etc/procmailrc
prioritaire si présent
configuration générale, pour tout les
utilsateurs
• $HOME/.procmailrc
pour chaque utilisateur
SHELL=/bin/sh
MAILDIR=$HOME/Mail
LOGFILE=$HOME/Mail/procmail.log
:0:
* ^Subject: test
testing
SHELL=/bin/sh
MAILDIR=$HOME/Mail
LOGFILE=$HOME/Mail/procmail.log
:0:
* ^Subject: test
testing
• composé de :
définitions de variables
recettes
• En l'absence de fichier de configuration,
procmail écrira tout les courriers dans
/var/spool/mail
•
• Exemple
pour d'autres exemples, voir dans /usr/share/doc/procmail/exemples/ , dans la documentation ou à la
fin de ce support
10. Linux LPIC2 noelmace.com
Recettes procmail
• décomposées en 3 parties
en tête ou "ligne double point" ("colon line")
règle(s) de correspondance
• expression(s) rationnelle(s)
- sur les en-têtes et corps des messages
• détermine quels messages seront traités par cette recette
action
• à défaut de règle correspondante, les courriers seront livrés
dans la mailbox par défaut
11. Linux LPIC2 noelmace.com
En tête d'une recette
• Première ligne de chaque recette
• le premier double point indique un début de règle
le 0 est, lui, présent pour des raisons historiques
• Drapeaux : détermine la manière dont la recette sera exécutée
portée
• des règles de correspondances
- H : en tête du message (par défaut)
- B : corps du message
- HB : les deux
• des actions (ce qui leur est envoyé)
- h : n'envoie que les en-têtes pour traitement
- b : n'envoie que le corps du message pour traitement
- hb :les deux (par défaut)
contrôle des flux (exemple : c : garde une copie du message pour traitement ultérieur)
mode d’exécution
sensibilité à la casse (cf quickref)
:0 [drapeaux] [ : [verrou_local] ]:0 [drapeaux] [ : [verrou_local] ]
12. Linux LPIC2 noelmace.com
En tête d'une recette : verrouillage
• second double point
mettre en place un fichier de verrou
• afin de ne pas corrompre un fichier en y écrivant simultanément
deux courriers
• nécessaire en cas d'écriture (sauvegarde)
[verrou local] : explicite le fichier de verrou à mettre en place
:0 [drapeaux] [ : [verrou_local] ]:0 [drapeaux] [ : [verrou_local] ]
13. Linux LPIC2 noelmace.com
Règles de correspondance
• permettent de déterminer si l'action doit être effectuée sur ce
message ou non
• commencent toujours par "* " (une étoile suivie d'un espace)
• Pour associer les règles de correspondances
une par ligne = ET logique
sur une même ligne, séparées par des "|" (pipes) = OU logique
• une seule étoile en début de ligne, non pour chaque expression
14. Linux LPIC2 noelmace.com
Actions
• opération à réaliser en cas de correspondance avec la/les règle(s)
• redirection
vers un fichier (mbox) ou un dossier (maildir)
• action la plus courante
- permet de délivrer le courrier dans la mailbox indiquée
• nécessite un verrou si écrit dans un fichier
• si le chemin est relatif (pas de / en début de ligne), il le sera par rapport à $MAILDIR
vers un programme
vers une (ou plusieurs) autre(s) adresse(s) électronique
• il est possible de remplacer l'action par une autre ensemble de recettes et de variables en utilisant les
caractère { et }
/chemin/du/fichier/chemin/du/fichier
| programme| programme
! addr1@site.net addr2@else.com addr3 ...! addr1@site.net addr2@else.com addr3 ...
chemin/relatifchemin/relatif /chemin/du/dossier//chemin/du/dossier/
15. Linux LPIC2 noelmace.com
Quelques exemples
• transférer tout courriel de l’expéditeur lui@example.com vers l'adresse
moi@noelmace.com
• transférer tout courriel provenant du domaine fsf.org et contenant le mot
"Supporter" suivit du mot "Issue" (correspondant au Free Software Suporter,
newsletter mensuelle de la FSF) vers la boite mail de l'utilisateur news, et le
copier vers notre dossier forwarded.news
:0
* ^From.*lui@example.com
! moi@noelmace.com
:0
* ^From.*lui@example.com
! moi@noelmace.com
:0c
* ^From.*@fsf.prg
* ^Subject:.*Supporter.*Issue.*
! news
:0:
forwarded.news
:0c
* ^From.*@fsf.prg
* ^Subject:.*Supporter.*Issue.*
! news
:0:
forwarded.news
16. Linux LPIC2 noelmace.com
Ce qu’on a couvert
• Configuration de procmail
recettes, drapeaux, règles et actions
• Les formats de stockage
mbox
maildir
Weight : 2
Description : Candidates should be able to implement client e-mail
management software to filter, sort and monitor incoming user e-mail.
211.2 Managing Local E-Mail Delivery
17. Linux LPIC2 noelmace.com
Licence
Ce(tte) œuvre (y compris ses illustrations, sauf mention explicite) est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
Pour voir une copie de cette licence, visitez http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ ou écrivez à :
Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
Vous êtes libre de :
partager — reproduire, distribuer et communiquer cette œuvre
remixer — adapter l’œuvre
Selon les conditions suivantes :
Attribution — Vous devez clairement indiquer que ce document, ou tout document dérivé de celui, est (issu de) l’œuvre
originale de Noël Macé (noelmace.com) (sans suggérer qu'il vous approuve, vous ou votre utilisation de l’œuvre, à moins
d'en demander expressément la permission).
Pas d’Utilisation Commerciale — Vous n’avez pas le droit d’utiliser cette œuvre à des fins commerciales (ie. l'intention
première ou l'objectif d'obtenir un avantage commercial ou une compensation financière privée). Pour obtenir ce droit, une
autorisation explicite de l'auteur est requise.
Partage dans les Mêmes Conditions — Si vous modifiez, transformez ou adaptez cette œuvre, vous n’avez le droit de
distribuer votre création que sous une licence identique ou similaire à celle-ci.
Pour toute demande de collaboration, d'utilisation commerciale ou de publication de ce support ou d'un dérivé de celui-ci sous une
licence incompatible, contacter l'auteur via les contacts indiqués sur le site http://www.noelmace.com. Vous êtes par ailleurs
vivement encouragé (sans obligation légale) à communiquer avec celui-ci si vous réalisez une œuvre dérivée ou toute amélioration
de ce support.