Légende :
Ellipse jaune | Programmes |
---|---|
Carré jaune | Fichier ou queue |
Carré bleue | map |
Pour garder ce schéma lisible, certains points ont été omis :
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
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 |
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
Liste des domaines considérés comme locaux qui seront traité via l'agent de transport local (variable $local_transport).
mydestination = localhost, localhost.localdomain, asyd.net, solaris-fr.org
Liste des réseaux de confiance. Typiquement les réseaux depuis lesquels le relai est autorisé par défaut.
mynetworks = 127.0.0.0/8, 192.168.1.0/24
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)
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.
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 :
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).