====== 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 =====