SlideShare une entreprise Scribd logo
1  sur  17
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.
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
Linux LPIC2 noelmace.com
Introduction
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 ...
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
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
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
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
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
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
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] ]
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] ]
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
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/
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
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
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.

Contenu connexe

Tendances

Rapport installation round cube centos 7
Rapport installation round cube centos 7Rapport installation round cube centos 7
Rapport installation round cube centos 7Mame Cheikh Ibra Niang
 
Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7Ousmane BADJI
 
Mis en place d'un serveur web avec herbergement multiple sous centos 6.
Mis en place d'un serveur web avec herbergement multiple sous centos 6.Mis en place d'un serveur web avec herbergement multiple sous centos 6.
Mis en place d'un serveur web avec herbergement multiple sous centos 6.Manassé Achim kpaya
 
Rapport d'installation de Linux Engine X MariaDB PHP5
Rapport d'installation de Linux Engine X MariaDB PHP5Rapport d'installation de Linux Engine X MariaDB PHP5
Rapport d'installation de Linux Engine X MariaDB PHP5Mame Cheikh Ibra Niang
 
Installation et configuration d'apache tomcat
Installation et configuration d'apache tomcatInstallation et configuration d'apache tomcat
Installation et configuration d'apache tomcatManassé Achim kpaya
 
L’ Administration des Réseaux en Pratique
L’ Administration des Réseaux en PratiqueL’ Administration des Réseaux en Pratique
L’ Administration des Réseaux en PratiqueAmadou Dia
 
Translation d'adresse réseau (NAT)
Translation d'adresse réseau (NAT)Translation d'adresse réseau (NAT)
Translation d'adresse réseau (NAT)Manassé Achim kpaya
 
05 03 dépannage réseau
05 03 dépannage réseau05 03 dépannage réseau
05 03 dépannage réseauNoël
 
MESSAGERIE EXCHANGE 2013 SOUS WINDOWS SERVEUR 2012
MESSAGERIE EXCHANGE 2013 SOUS WINDOWS SERVEUR 2012MESSAGERIE EXCHANGE 2013 SOUS WINDOWS SERVEUR 2012
MESSAGERIE EXCHANGE 2013 SOUS WINDOWS SERVEUR 2012Manassé Achim kpaya
 
LPIC1 11 02 sécurité système
LPIC1 11 02 sécurité systèmeLPIC1 11 02 sécurité système
LPIC1 11 02 sécurité systèmeNoël
 
05 02 surveillance et analyse de traffic tcpip
05 02 surveillance et analyse de traffic tcpip05 02 surveillance et analyse de traffic tcpip
05 02 surveillance et analyse de traffic tcpipNoël
 
07 01 configuration élémentaire d'un dns
07 01 configuration élémentaire d'un dns07 01 configuration élémentaire d'un dns
07 01 configuration élémentaire d'un dnsNoël
 
06 01 interfaces
06 01 interfaces06 01 interfaces
06 01 interfacesNoël
 
Configuration des services web sous centOS 5
Configuration des services web sous centOS 5Configuration des services web sous centOS 5
Configuration des services web sous centOS 5Sarah
 
07 02 création et maintenance de zones dns
07 02 création et maintenance de zones dns07 02 création et maintenance de zones dns
07 02 création et maintenance de zones dnsNoël
 
Installation et configuration du serveur exchange2016 sous windows server 2012
Installation et configuration du serveur exchange2016 sous windows server 2012Installation et configuration du serveur exchange2016 sous windows server 2012
Installation et configuration du serveur exchange2016 sous windows server 2012Yaya N'Tyeni Sanogo
 
LPIC1 07 11 introduction aux systèmes de fichiers
LPIC1 07 11 introduction aux systèmes de fichiersLPIC1 07 11 introduction aux systèmes de fichiers
LPIC1 07 11 introduction aux systèmes de fichiersNoël
 
présentation des services Open Source pour GNU/Linux
présentation des services Open Source pour GNU/Linuxprésentation des services Open Source pour GNU/Linux
présentation des services Open Source pour GNU/LinuxNoël
 

Tendances (20)

Rapport installation round cube centos 7
Rapport installation round cube centos 7Rapport installation round cube centos 7
Rapport installation round cube centos 7
 
Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7
 
Mis en place d'un serveur web avec herbergement multiple sous centos 6.
Mis en place d'un serveur web avec herbergement multiple sous centos 6.Mis en place d'un serveur web avec herbergement multiple sous centos 6.
Mis en place d'un serveur web avec herbergement multiple sous centos 6.
 
Rapport d'installation de Linux Engine X MariaDB PHP5
Rapport d'installation de Linux Engine X MariaDB PHP5Rapport d'installation de Linux Engine X MariaDB PHP5
Rapport d'installation de Linux Engine X MariaDB PHP5
 
Installation et configuration d'apache tomcat
Installation et configuration d'apache tomcatInstallation et configuration d'apache tomcat
Installation et configuration d'apache tomcat
 
L’ Administration des Réseaux en Pratique
L’ Administration des Réseaux en PratiqueL’ Administration des Réseaux en Pratique
L’ Administration des Réseaux en Pratique
 
Translation d'adresse réseau (NAT)
Translation d'adresse réseau (NAT)Translation d'adresse réseau (NAT)
Translation d'adresse réseau (NAT)
 
05 03 dépannage réseau
05 03 dépannage réseau05 03 dépannage réseau
05 03 dépannage réseau
 
MESSAGERIE EXCHANGE 2013 SOUS WINDOWS SERVEUR 2012
MESSAGERIE EXCHANGE 2013 SOUS WINDOWS SERVEUR 2012MESSAGERIE EXCHANGE 2013 SOUS WINDOWS SERVEUR 2012
MESSAGERIE EXCHANGE 2013 SOUS WINDOWS SERVEUR 2012
 
Compte rendu.
Compte rendu.Compte rendu.
Compte rendu.
 
LPIC1 11 02 sécurité système
LPIC1 11 02 sécurité systèmeLPIC1 11 02 sécurité système
LPIC1 11 02 sécurité système
 
05 02 surveillance et analyse de traffic tcpip
05 02 surveillance et analyse de traffic tcpip05 02 surveillance et analyse de traffic tcpip
05 02 surveillance et analyse de traffic tcpip
 
07 01 configuration élémentaire d'un dns
07 01 configuration élémentaire d'un dns07 01 configuration élémentaire d'un dns
07 01 configuration élémentaire d'un dns
 
Messagerie
MessagerieMessagerie
Messagerie
 
06 01 interfaces
06 01 interfaces06 01 interfaces
06 01 interfaces
 
Configuration des services web sous centOS 5
Configuration des services web sous centOS 5Configuration des services web sous centOS 5
Configuration des services web sous centOS 5
 
07 02 création et maintenance de zones dns
07 02 création et maintenance de zones dns07 02 création et maintenance de zones dns
07 02 création et maintenance de zones dns
 
Installation et configuration du serveur exchange2016 sous windows server 2012
Installation et configuration du serveur exchange2016 sous windows server 2012Installation et configuration du serveur exchange2016 sous windows server 2012
Installation et configuration du serveur exchange2016 sous windows server 2012
 
LPIC1 07 11 introduction aux systèmes de fichiers
LPIC1 07 11 introduction aux systèmes de fichiersLPIC1 07 11 introduction aux systèmes de fichiers
LPIC1 07 11 introduction aux systèmes de fichiers
 
présentation des services Open Source pour GNU/Linux
présentation des services Open Source pour GNU/Linuxprésentation des services Open Source pour GNU/Linux
présentation des services Open Source pour GNU/Linux
 

Similaire à 11 02 distribution locale des courriels

LPIC1 10 01 logs
LPIC1 10 01 logsLPIC1 10 01 logs
LPIC1 10 01 logsNoël
 
LPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseauxLPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseauxNoël
 
LPIC1 05 02 Filesystem Hierarchy Standard
LPIC1 05 02 Filesystem Hierarchy StandardLPIC1 05 02 Filesystem Hierarchy Standard
LPIC1 05 02 Filesystem Hierarchy StandardNoël
 
LPIC2 12 01 pare-feu et nating
LPIC2 12 01 pare-feu et natingLPIC2 12 01 pare-feu et nating
LPIC2 12 01 pare-feu et natingNoël
 
LPIC1 02 04 variables
LPIC1 02 04 variablesLPIC1 02 04 variables
LPIC1 02 04 variablesNoël
 
LPIC1 13 01 scripting bash
LPIC1 13 01 scripting bashLPIC1 13 01 scripting bash
LPIC1 13 01 scripting bashNoël
 
LPIC1 09 02 ps
LPIC1 09 02 psLPIC1 09 02 ps
LPIC1 09 02 psNoël
 
10 03 clients ldap
10 03 clients ldap10 03 clients ldap
10 03 clients ldapNoël
 
08 02 mise en place de serveurs virtuels apache 2
08 02 mise en place de serveurs virtuels apache 208 02 mise en place de serveurs virtuels apache 2
08 02 mise en place de serveurs virtuels apache 2Noël
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur webNoël
 
Alphorm.com Formation Linux LPIC-3 (examen 300) Environnement mixte
Alphorm.com Formation Linux LPIC-3 (examen 300) Environnement mixteAlphorm.com Formation Linux LPIC-3 (examen 300) Environnement mixte
Alphorm.com Formation Linux LPIC-3 (examen 300) Environnement mixteAlphorm
 
Linux LPIC-3 ( PDFDrive ).pdf
Linux LPIC-3 ( PDFDrive ).pdfLinux LPIC-3 ( PDFDrive ).pdf
Linux LPIC-3 ( PDFDrive ).pdfThinL389917
 
06 03 route
06 03 route06 03 route
06 03 routeNoël
 
06 02 opérations de sauvegarde
06 02 opérations de sauvegarde06 02 opérations de sauvegarde
06 02 opérations de sauvegardeNoël
 
06 03 notification aux utilisateurs des problèmes système
06 03 notification aux utilisateurs des problèmes système06 03 notification aux utilisateurs des problèmes système
06 03 notification aux utilisateurs des problèmes systèmeNoël
 
LPIC1 02 05 commandes internes
LPIC1 02 05 commandes internesLPIC1 02 05 commandes internes
LPIC1 02 05 commandes internesNoël
 
Courriels et messageries
Courriels et messageriesCourriels et messageries
Courriels et messageriesMichel Guillou
 
LPIC1 04 04 configuration de yum
LPIC1 04 04 configuration de yumLPIC1 04 04 configuration de yum
LPIC1 04 04 configuration de yumNoël
 
09 01 configuration du serveur samba
09 01 configuration du serveur samba09 01 configuration du serveur samba
09 01 configuration du serveur sambaNoël
 

Similaire à 11 02 distribution locale des courriels (20)

LPIC1 10 01 logs
LPIC1 10 01 logsLPIC1 10 01 logs
LPIC1 10 01 logs
 
LPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseauxLPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseaux
 
LPIC1 05 02 Filesystem Hierarchy Standard
LPIC1 05 02 Filesystem Hierarchy StandardLPIC1 05 02 Filesystem Hierarchy Standard
LPIC1 05 02 Filesystem Hierarchy Standard
 
LPIC2 12 01 pare-feu et nating
LPIC2 12 01 pare-feu et natingLPIC2 12 01 pare-feu et nating
LPIC2 12 01 pare-feu et nating
 
LPIC1 02 04 variables
LPIC1 02 04 variablesLPIC1 02 04 variables
LPIC1 02 04 variables
 
LPIC1 13 01 scripting bash
LPIC1 13 01 scripting bashLPIC1 13 01 scripting bash
LPIC1 13 01 scripting bash
 
LPIC1 09 02 ps
LPIC1 09 02 psLPIC1 09 02 ps
LPIC1 09 02 ps
 
10 03 clients ldap
10 03 clients ldap10 03 clients ldap
10 03 clients ldap
 
08 02 mise en place de serveurs virtuels apache 2
08 02 mise en place de serveurs virtuels apache 208 02 mise en place de serveurs virtuels apache 2
08 02 mise en place de serveurs virtuels apache 2
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web
 
Alphorm.com Formation Linux LPIC-3 (examen 300) Environnement mixte
Alphorm.com Formation Linux LPIC-3 (examen 300) Environnement mixteAlphorm.com Formation Linux LPIC-3 (examen 300) Environnement mixte
Alphorm.com Formation Linux LPIC-3 (examen 300) Environnement mixte
 
Linux LPIC-3 ( PDFDrive ).pdf
Linux LPIC-3 ( PDFDrive ).pdfLinux LPIC-3 ( PDFDrive ).pdf
Linux LPIC-3 ( PDFDrive ).pdf
 
Presentation
PresentationPresentation
Presentation
 
06 03 route
06 03 route06 03 route
06 03 route
 
06 02 opérations de sauvegarde
06 02 opérations de sauvegarde06 02 opérations de sauvegarde
06 02 opérations de sauvegarde
 
06 03 notification aux utilisateurs des problèmes système
06 03 notification aux utilisateurs des problèmes système06 03 notification aux utilisateurs des problèmes système
06 03 notification aux utilisateurs des problèmes système
 
LPIC1 02 05 commandes internes
LPIC1 02 05 commandes internesLPIC1 02 05 commandes internes
LPIC1 02 05 commandes internes
 
Courriels et messageries
Courriels et messageriesCourriels et messageries
Courriels et messageries
 
LPIC1 04 04 configuration de yum
LPIC1 04 04 configuration de yumLPIC1 04 04 configuration de yum
LPIC1 04 04 configuration de yum
 
09 01 configuration du serveur samba
09 01 configuration du serveur samba09 01 configuration du serveur samba
09 01 configuration du serveur samba
 

Plus de Noël

LPIC1 10 04 anacron
LPIC1 10 04 anacronLPIC1 10 04 anacron
LPIC1 10 04 anacronNoël
 
LPIC1 10 05 at
LPIC1 10 05 atLPIC1 10 05 at
LPIC1 10 05 atNoël
 
LPIC1 10 03 cron
LPIC1 10 03 cronLPIC1 10 03 cron
LPIC1 10 03 cronNoël
 
LPIC1 10 02 temps
LPIC1 10 02 tempsLPIC1 10 02 temps
LPIC1 10 02 tempsNoël
 
LPIC1 09 06 kill
LPIC1 09 06 killLPIC1 09 06 kill
LPIC1 09 06 killNoël
 
LPIC1 09 05 priorités
LPIC1 09 05 prioritésLPIC1 09 05 priorités
LPIC1 09 05 prioritésNoël
 
LPIC1 09 04 bg fg
LPIC1 09 04 bg fgLPIC1 09 04 bg fg
LPIC1 09 04 bg fgNoël
 
LPIC1 09 03 top
LPIC1 09 03 topLPIC1 09 03 top
LPIC1 09 03 topNoël
 
LPIC1 09 01 intro
LPIC1 09 01 introLPIC1 09 01 intro
LPIC1 09 01 introNoël
 
LPIC1 08 05 runlevels
LPIC1 08 05 runlevelsLPIC1 08 05 runlevels
LPIC1 08 05 runlevelsNoël
 
LPIC1 08 03 grub2
LPIC1 08 03 grub2LPIC1 08 03 grub2
LPIC1 08 03 grub2Noël
 
LPIC1 08 02 grub legacy
LPIC1 08 02 grub legacyLPIC1 08 02 grub legacy
LPIC1 08 02 grub legacyNoël
 
LPIC1 08 01 démarrage
LPIC1 08 01 démarrageLPIC1 08 01 démarrage
LPIC1 08 01 démarrageNoël
 
LPIC1 07 14 mount
LPIC1 07 14 mountLPIC1 07 14 mount
LPIC1 07 14 mountNoël
 
LPIC1 07 13 fsck
LPIC1 07 13 fsckLPIC1 07 13 fsck
LPIC1 07 13 fsckNoël
 
LPIC1 07 18 debugfs
LPIC1 07 18 debugfsLPIC1 07 18 debugfs
LPIC1 07 18 debugfsNoël
 
LPIC1 07 17 tune2fs
LPIC1 07 17 tune2fsLPIC1 07 17 tune2fs
LPIC1 07 17 tune2fsNoël
 
LPIC1 07 16 dumpe2fs
LPIC1 07 16 dumpe2fsLPIC1 07 16 dumpe2fs
LPIC1 07 16 dumpe2fsNoël
 
LPIC1 07 12 formatage
LPIC1 07 12 formatageLPIC1 07 12 formatage
LPIC1 07 12 formatageNoël
 
LPIC1 07 10 GNU parted
LPIC1 07 10 GNU partedLPIC1 07 10 GNU parted
LPIC1 07 10 GNU partedNoël
 

Plus de Noël (20)

LPIC1 10 04 anacron
LPIC1 10 04 anacronLPIC1 10 04 anacron
LPIC1 10 04 anacron
 
LPIC1 10 05 at
LPIC1 10 05 atLPIC1 10 05 at
LPIC1 10 05 at
 
LPIC1 10 03 cron
LPIC1 10 03 cronLPIC1 10 03 cron
LPIC1 10 03 cron
 
LPIC1 10 02 temps
LPIC1 10 02 tempsLPIC1 10 02 temps
LPIC1 10 02 temps
 
LPIC1 09 06 kill
LPIC1 09 06 killLPIC1 09 06 kill
LPIC1 09 06 kill
 
LPIC1 09 05 priorités
LPIC1 09 05 prioritésLPIC1 09 05 priorités
LPIC1 09 05 priorités
 
LPIC1 09 04 bg fg
LPIC1 09 04 bg fgLPIC1 09 04 bg fg
LPIC1 09 04 bg fg
 
LPIC1 09 03 top
LPIC1 09 03 topLPIC1 09 03 top
LPIC1 09 03 top
 
LPIC1 09 01 intro
LPIC1 09 01 introLPIC1 09 01 intro
LPIC1 09 01 intro
 
LPIC1 08 05 runlevels
LPIC1 08 05 runlevelsLPIC1 08 05 runlevels
LPIC1 08 05 runlevels
 
LPIC1 08 03 grub2
LPIC1 08 03 grub2LPIC1 08 03 grub2
LPIC1 08 03 grub2
 
LPIC1 08 02 grub legacy
LPIC1 08 02 grub legacyLPIC1 08 02 grub legacy
LPIC1 08 02 grub legacy
 
LPIC1 08 01 démarrage
LPIC1 08 01 démarrageLPIC1 08 01 démarrage
LPIC1 08 01 démarrage
 
LPIC1 07 14 mount
LPIC1 07 14 mountLPIC1 07 14 mount
LPIC1 07 14 mount
 
LPIC1 07 13 fsck
LPIC1 07 13 fsckLPIC1 07 13 fsck
LPIC1 07 13 fsck
 
LPIC1 07 18 debugfs
LPIC1 07 18 debugfsLPIC1 07 18 debugfs
LPIC1 07 18 debugfs
 
LPIC1 07 17 tune2fs
LPIC1 07 17 tune2fsLPIC1 07 17 tune2fs
LPIC1 07 17 tune2fs
 
LPIC1 07 16 dumpe2fs
LPIC1 07 16 dumpe2fsLPIC1 07 16 dumpe2fs
LPIC1 07 16 dumpe2fs
 
LPIC1 07 12 formatage
LPIC1 07 12 formatageLPIC1 07 12 formatage
LPIC1 07 12 formatage
 
LPIC1 07 10 GNU parted
LPIC1 07 10 GNU partedLPIC1 07 10 GNU parted
LPIC1 07 10 GNU parted
 

11 02 distribution locale des courriels

  • 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.