La configuration de Sendmail repose sur un ensemble de r�gles assez
complexes. Bien que cela puisse s'av�rer tr�s puissant, il n'est pas courant de
fabriquer ex-nihilo un sendmail.cf
. Il faudrait de surcroit y passer
pas mal de temps. Si vous �tes motiv�, lancez vous dans la lecture de
la bible disponible chez O'Reilly.
Au lieu de forger � la main les r�gles, on utilise le pr�-processeur de
macros m4
pour fabriquer un fichier de configuration � partir des
�l�ments pr�ts � l'emploi qui sont fournis avec sendmail.
Jetons un oeil sur les premi�res lignes du sendmail.mc
:
include(/usr/lib/sendmail.cf/m4/cf.m4) VERSIONID(`sendmail.mc - roessler@guug.de') OSTYPE(debian) define(`ALIAS_FILE',`/etc/mail/aliases')
Tout d'abord, on inclut cf.m4
. Ce fichier m4 contient de
nombreuses macros utiles pour la suite. Ne vous trompez pas dans les chemins
d'acc�s.
Ceux que nous donnons ici correspondent typiquement � un syst�me GNU/Linux
Debian. La macro OSTYPE
positionne les valeurs par d�faut de certaines
variables. Si vous n'utilisez pas une Debian, remplacez ici "debian" par
"linux". ALIAS_FILE
fournit � sendmail l'emplacement du fichier d'alias.
Les lignes suivantes forcent l'utilisation des fonctionnalit�s
genericstable
et pr�cisent o� trouver les fichiers n�cessaires :
FEATURE(masquerade_envelope) FEATURE(genericstable, `hash -o /etc/mail/genericstable') GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain')
masquerade_envelope
r�clame qu'une mise en forme du type en-t�te soit
appliqu�e � l'enveloppe des messages � exp�dier. Est concern�e l'adresse vers
laquelle les agents de transport ext�rieurs dirigeront leurs messages
d'avertissement ou leurs avis d'�checs. Les fichiers generics*
seront
d�taill�s plus loin.A pr�sent, on d�finit un h�te intelligent ( "smart agent" ), c'est � dire une machine capable de g�rer le courrier sortant � notre place. Il ne s'agit pas n�cessairement des serveurs POP ou IMAP de l'ISP. La hotline vous aidera le cas �ch�ant � dissiper les doutes.
define(`SMART_HOST',`relai-de-sortie.mon.fournisseur')
Les deux derni�res lignes incluent les d�finitions des "mailer" gr�ce auxquels sendmail d�termine comment manipuler les diff�rents types de courrier :
MAILER(local) MAILER(smtp)
Pour g�n�rer le fichier sendmail.cf
� partir du sendmail.mc
,
ex�cutez les commandes suivantes en tant qu'utilisateur root :
# m4 sendmail.mc> _sendmail.cf # mv -f _sendmail.cf sendmail.cf
m4
dans un
fichier temporaire avant de l'installer au bon endroit. On �vite ainsi que
sendmail ne lise des fichiers de configuration incomplets !On commence par pr�ciser � sendmail les adresses � consid�rer comme
locales. Pas de difficult�s : rentrez le nom complet de votre
machine dans le fichier /etc/mail/genericsdomain
. Pour
obtenir ce nom, ex�cutez la commande suivante :
$ hostname -f
Passons aux r�gles de re�criture proprement dites :
/etc/mail/genericstable
. Ce fichier est form� de deux colonnes
s�par�es par des blancs. La premi�re contient les adresses locales et la
seconde les adresses �lectroniques qui doivent �tre employ�es � la place.
Le fichier devrait ressembler � �a :
harry harryx@mon.fai maude maudey@son.fai root francois@mon.fai news francois@mon.fai
Il devrait y avoir une entr�e pour chaque compte sur la machine isol�e de fa�on � ce que le courrier sortant du syst�me comporte des informations d'en-t�te correctes.
Afin d'am�liorer les performances, sendmail n'utilise pas directement ce fichier mais une version hach�e. Pour la cr�er, ex�cutez la commande suivante :
# makemap -r hash genericstable.db < genericstable
Notez que les r�gles issues de genericstable
ne s'appliquent pas
au courrier local ni � celui que vous recevez de l'ext�rieur. La traduction
n'a lieu que si un message est transmis au relai de votre FAI.
Le fichier d'alias contient des adresses suppl�mentaires qui ne sont
valables que pour les messages locaux. Ceci s'av�re utile pour les comptes
de maintenance tels root
qui re�oivent des messages cr��s automatiquement
par le syst�me d'exploitation.
Le point de d�part d'un /etc/mail/aliases
pourrait
ressembler � �a :
root: francois news: root postmaster: root mail: root www: root nobody: /dev/null MAILER-DAEMON: nobody
Dans l'exemple ci-dessus, le courrier � destination des utilisateurs
root
, news
, postmaster
, mail
, et www
sont renvoy�s
vers francois
, tandis que ceux pour nobody
et MAILER-DAEMON
seront redirig�s vers le /dev/null
.
De m�me que le genericstable
, le fichier aliases
peut contenir
beaucoup de donn�es. Comme il serait inefficace que sendmail utilise
le fichier texte tel quel, le m�canisme employ� pour le genericstable
s'applique encore : on g�n�re une base de donn�es hach�e. Au lieu de la
commande makemap
, rentrez cette fois la commande newaliases
. Tout
fonctionne automagiquement.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:21