Introduction à qmail | ||
---|---|---|
Précédent | Suivant |
La configuration de qmail se fait presque entièrement via un ensemble de petits fichiers texte de «contrôle» tous situés dans le répertoire /var/qmail/control/ ou son équivalent le cas échéant. Les différents programmes composant qmail lisent le contenu de ces fichiers et positionnent leurs variables en conséquence.
Des options par défaut sont prises pour chaque fichier inexistant. Par défaut, un seul de ces fichiers existe, il s'agit de me qui contient le nom qualifié de la machine.
Un man qmail-control donne une liste complète de tous ces fichiers, des programmes qmail qui les utilisent ainsi que des options prises par défaut. C'est très pratique.
Vous pouvez utiliser la commande qmail-showctl pour obtenir un rapport sur les différents fichiers de contrôle présents sur votre système qmail ainsi que les valeurs par défaut utilisées.
Il ne faut surtout pas oublier de demander à qmail de relire ses fichiers de contrôle après la modification de l'un d'entre eux. Pour ce faire, il suffit de faire un
root:bash$ kill -HUP $(pidof qmail-send) |
Le premier fichier de contrôle que vous serez amené à modifier est sans doute /var/qmail/control/aliasempty. Il contient le nom de la BAL dans laquelle le MDA qmail-local livre le courriel lorsqu'il n'y a pas de .qmail. Sa valeur par défaut est ./Mailbox.
Cette règle de livraison par défaut peut néanmoins être spécifiée en ligne de commande à qmail-start lors du lancement de qmail, voir la page de manuel. Elle sera transmise à qmail-lspawn.
Pour conserver la livraison par défaut dans /var/spool/mail, vous pouvez imiter le paquetage qmail de la Debian GNU/Linux : se servir du MDA procmail et lancer qmail par
qmail-start |/usr/local/sbin/qmail-procmail |
#!/bin/sh /var/qmail/bin/preline /usr/bin/procmail && exit 0 # Erreur EX_TEMPFAIL ? [ $? = 75 ] && exit 111 # Sinon on renvoie une «Permanent Error» exit 100 |
Un autre fichier très important pour vous sera sans doute /var/qmail/control/locals, utilisé par qmail-send. Il contient les noms des hôtes considérés comme locaux, c'est à dire ceux pour lesquels les courriels que vous recevez et qui leurs sont destinés seront livrés sur votre machine. Par défaut, cette variable vaut la même valeur que le fichier de contrôle me (votre nom de machine). Un petit exemple valant mieux qu'un long discours, voici un exemple de locals
mondomaine.amoi mamachine mamachine.mondomaine.amoi ftp ftp.mondomaine.amoi www www.mondomaine.amoi |
mamachine.mondomaine.amoi |
N'oubliez pas d'avertir qmail-send après toute modification du fichier locals en lui envoyant un signal HUP :
root:bash$ kill -HUP $(pidof qmail-send) |
Les deux fichiers de contrôle /var/qmail/control/defaulthost et /var/qmail/control/defaultdomain s'avèrent très utiles. Il permettent de spécifier la façon dont qmail-inject complète les adresses destinataires incomplètes. Ainsi, une adresse ne contenant pas de partie domaine sera complétée par defaulthost et une adresse dont la partie domaine ne contient pas de point sera complétée par defaultdomain. La valeur par défaut est la même que celle de me, ce qui ne correspond pas forcément à ce que vous souhaitez.
Les variables d'environnement QMAILDEFAULTDOMAIN et QMAILDEFAULTHOST ont priorité sur le contenu des fichiers de contrôles correspondants.
Le fichier de contrôle /var/qmail/control/rcpthosts est utilisé par qmail-smtpd. Il permet de contrôler le relayage de courriel par la machine via SMTP.
Lorsque le fichier rcpthosts existe, qmail-smtpd refusera tout courriel dont la partie domaine de l'adresse destinataire ne figure pas dans rcpthosts. Par défaut, c'est à dire en l'abscence de rcpthosts, qmail-smtpd accepte tous les courriels.
Voici un exemple de rcpthosts:
.mondomaine.amoi mondomaine.amoi |
Il est bien entendu très important que rcpthosts autorise au moins les machines figurant dans le fichier de contrôle locals pour que vous puissiez recevoir les courriels qui leurs sont destinés par SMTP.
rcpthosts est ignoré si la variable d'environnement RELAYCLIENT est positionnée. Auquel cas, qmail-smtpd ajoute son contenu à l'adresse de destination des courriels qui transitent par lui.
Lisez la page de manuel de qmail-smtpd pour en savoir plus.
Le contrôle de relayage par rcpthosts est souvent associé à un contrôle au niveau TCP par un «wrapper» TCP. Voir la section Contrôle de relayage du Chapitre 5. Pour effectuer un rejet des courriels entrants par SMTP suivant l'expéditeur, reportez vous à la section badmailfrom.
badmailfrom est très utile pour éviter le courriel entrant non sollicité. Il permet de spécifier les adresses d'expéditeurs interdits. qmail-smtpd refusera tout courriel provenant d'eux. Voici un exemple :
@polution.com polueur@poubelle.com |
Pour faire du contrôle de relayage, se reportez à la section Contrôle de relayage du Chapitre 5 et la section rcpthosts.
Le fichier de contrôle /var/qmail/control/smtproutes permet de spécifier les relais SMTP que qmail-remote devra contacter pour router les courriels sortants. voir la page de manuel pour plus de détails. Voici un exemple :
premier.domaine:mail.premier.domaine second.domaine:mail.second.domaine:24 :mail.autre.domaine |
qmail-remote utilise aussi les fichiers de contrôle helohost, timeoutconnect et timeoutremote, voir la page de manuel de qmail-remote.
Le fichier de contrôle /var/qmail/control/virtualdomains contient une liste de domaines virtuels, un par ligne. Un domaine virtuel est un domaine pour lequel la livraison se fera vers une seule adresse. Les domaines virtuels sont pris en compte par qmail-send. Par défaut, aucun domaine virtuel n'est défini. Voici un exemple de fichier virtualdomains :
mondomaine.amoi: .mondomaine.amoi: .uucp:alias-uucp :alias-ppp |
N'oubliez pas d'avertir qmail-send après toute modification du fichier locals en lui envoyant un signal HUP :
root$ kill -HUP pid_de_qmail-send |
Allez voir la page de manuel de qmail-send pour plus de détails.
Je n'ai parlé que des principaux fichiers de contrôle, il y en a beaucoup d'autres. Je vous conseille de faire un «man qmail-control». Vous y trouverez une liste de tout les fichiers de configuration, les binaires qui les utilisent ainsi que les valeurs prises par défaut.
Précédent | Page principale | Suivant |
QMTP, le petit dernier | Livraison par qmail-local et utilisateur alias |