La configuration de postfix se fait presque entièrement à partir du fichier /etc/postfix/main.cf. Après chaque modification de ce fichier, il faut indiquer à procmail qu'il faut qu'il relise son fichier de configuration :
# postfix start postfix-script: starting the Postfix mail system # tail /var/log/mail.info [...] Apr 22 17:20:39 zecastor postfix-script: starting the Postfix mail system Apr 22 17:20:39 zecastor postfix/master[997]: daemon started # /etc/init.d/postfix reload # |
Le fichier /etc/init.d/postfix peut également se trouver dans les répertoires /etc/rc.d/init.d ou encore /sbin/init.d suivant la distribution utiliseé.
Dans la suite, les modifications portent, sauf mention contraire, sur le fichier /etc/postfix/main.cf.
Si la commande hostname ne retourne rien (ou par de nom de domaine pleinement qualifié, c'est à dire de la forme machine.domaine.fr), il faut modifier les variables myhostname et mydomain :
myhostname = tarsier.chez.moi mydomain = chez.moi |
postfix faisant appel à plusieurs programmes (modularité signifiant sécurilté), chaque processus est lancé selon la description dans le fichier /etc/postfix/master.cf. En principe, on ne devrait pas avoir à modifier ce fichier, mais c'est toujours bon à savoir qu'il existe.
Les adresses ne contenant que le nom d'utilisateur peuvent être réécrites en ajoutant le nom du domaine (de la forme user@$mydomain)
append_at_myorigin = yes |
Cela permet de transformer une adresse d'expéditeur non valide (user) en adresse valide en tout point de l'Internet (user@domaine).
Pour les mêmes raisons, ou doit pouvoir transformer le nom de machine en nom pleinement qualifié (de la forme user@machine.domaine) :
append_dot_mydomain = yes |
Voir trivial-rewrite(8).
Pour utiliser procmail comme agent de délivraison local de courrier, décommenter la ligne suivante :
mailbox_command = /usr/local/bin/procmail |
On peut commencer par modifier la variable myorigin, qui contient le nom du domaine tel qu'il apparaîtra dans le champ From: des méls. Par défaut c'est le contenu de la variable , c'est à dire tarsier.chez.moi dans notre cas. On peut vouloir mettre le nom du domaine seul si on a plusieurs machines dans notre réseau local :
.
Enfin, la variable mydestination contient la liste des domaines que notre machine considère comme destination finale (en dehors des domaines virtuels). Ici comme on a des adresses d'expéditeurs de la forme user@domaine.fr, il faut accepter les méls adressés à ce type d'adresse (en cas de réponse à un mél, par exemple). Il faut donc rajouter à la variable mydestination pour que la liste soit complète :
mydestination = $myhostname, localhost.$mydomain $mydomain |