====== Introduction ====== ===== Vue d'ensemble ===== {{papers:big-picture.gif}} Légende : ^ Ellipse jaune | Programmes | ^ Carré jaune | Fichier ou queue | ^ Carré bleue | map | * Les programmes qui sont dans le carré noir sont contrôlés par le programme master de postfix Pour garder ce schéma lisible, certains points ont été omis : * Les outils CLI de Postfix * Le programme master * Les requêtes DNS effectuées par smtpd et smtp * La rééecriture d'adresse * Le flux des messages transférés par le MDA * Les notifications * Les triggers ===== Les fichiers de configuration ===== ==== main.cf ==== Ce fichier contient la déclaration des variables de configurations au niveau globale. myhostname = mail.asyd.net mydestination = localhost, $myhostname **Note** il n'est malheureusement pas possible de définir ses propres variables ==== master.cf ==== Ce fichier - utilisé par le daemon master - déclare tous les daemons et programmes qui seront utilisés par postfix. Voici le contenu d'un fichier master.cf basique ^ service ^ type ^ private ^ unpriv ^ chroot ^ wakeup ^ maxproc ^ command + args ^ |smtp|inet|n|-|-|-|-|smtpd| |pickup|fifo|n|-|-|60 | 1 |pickup| |cleanup|unix|n|-|-|-| 0 |cleanup| |qmgr|fifo|n|-|-| 300| 1 |qmgr| |rewrite|unix|-|-|-|-|-|trivial-rewrite| |bounce|unix|-|-|-|-|0|bounce| |defer|unix|-|-|-|-|0|bounce| |trace|unix|-|-|-|-|0|bounce| |verify|unix|-|-|-|-|1|verify| |flush|unix|n|-|-|1000?|0|flush| |proxymap|unix|-|-|n|-|-|proxymap| |smtp|unix|-|-|-|-|-|smtp|| |relay|unix|-|-|-|-|-|smtp|| |showq|unix|n|-|-|-|-|showq| |error|unix|-|-|-|-|-|error| |local|unix|-|n|n|-|-|local| |virtual|unix|-|n|n|-|-|virtual| |lmtp|unix|-|-|n|-|-|lmtp| |anvil|unix|-|-|n|-|1|anvil| |tlsmgr|unix|-|-|-|1000?|1|tlsmgr| |scache|unix|-|-|-|-|1|scache| |discard|unix|-|-|-|-|-|discard| ====== smptd ====== smtpd est le daemon qui reçoit les connexions respectant les protocoles SMTP et ESMTP. Par défaut, une seule instance de ce daemon est executé, cette instance est déclarée dans le fichier **master.cf** de la façon suivante : smtp inet n - - - - smtpd Les nombreuses options de ce daemon sont décrites dans la page de manuel **smtpd(8)**. Celles-ci sont généralement définies de manière globale dans le fichier **main.cf** mais peuvent être redéfinies (pour chaque instance) dans le fichier **master.cf** en utilisant l'option -o ===== Les options principales ===== ==== mydestination ==== Liste des domaines considérés comme locaux qui seront traité via l'agent de transport local (variable $local_transport). === Exemple === mydestination = localhost, localhost.localdomain, asyd.net, solaris-fr.org ==== mynetworks ==== Liste des réseaux de confiance. Typiquement les réseaux depuis lesquels le relai est autorisé par défaut. === Exemple === mynetworks = 127.0.0.0/8, 192.168.1.0/24 ===== Les restrictions ===== ====== Les MDA (delivery agents) ====== ===== Les locaux ====== ==== local ===== ==== virtual ==== ==== procmail ==== ==== Courier (maildrop) ==== ==== Cyrus ==== ====== Les maps ====== Une map permet à partir d'une clée d'obtenir une ou plusieurs informations. Pour que postfix puisse utiliser une map sous format fichier, il faut la //compiler// à l'aide de l'outil postmap. Pour chaque map, on peut utiliser plusieurs sous couches, on peut citer : (liste non exhausive) * un fichier texte * un annuaire supportant le protocole LDAP * une base mysql * une base postgresql Pour les types de map avancées (autre que fichier), certaines déclarations sont nécessaires (le serveur, etc..). Certaines permettent d'écrire soient même les requêtes (LDAP), d'autres utilises des requêtes écrites en dure (mysql, à verifier néanmoins), obligeant l'administrateur à utiliser une structure de donnée fixe. ===== transport ===== La map transport permet de définir quelle sous couche utilisée pour transférer (délivrer) le message. Par défaut, la même action est effectuée pour tous les messages, mais il est possible de spécifier l'action en fonction de l'adresse de destination. Une entrée dans la map transport est définie comme suit : masque_de_recherche action Plusieurs masques de recherche sont possibles : * utilisatateur+extension@domaine * utilisateur@domaine * domaine * .domaine Une action est définie de la manière suivante méthode_de_transport:hôte_suivant La méthode de transport doit être défiie dans le fichier master.cf. Le type de l'argument (optionel) hôte_suivant est dépendant de la méthode de transport choisie. Par exemple, pour un transport de type SMTP, le champ hôte suivant correspond au nom du serveur où transférer le message (via le protocole SMTP). ==== Exemple ==== FIXME ===== alias ====== ===== access =====