Differences

This shows you the differences between two versions of the page.

Link to this comparison view

freebsd:sendmail_simple [2010/01/12 13:29] (current)
Line 1: Line 1:
 +Sendmail simple sous FreeBSD
  
 +Auteur: Julio Merino
 +
 +Traducteur: Viana Paizafiume
 +
 +
 +Date: 26 Mars 2002
 +
 +Sendmail c'est le logiciel de transport du courier (MTA) le plus usuel sur
 +tous les systèmes BSD et beaucoup de distributions Linux. C'est pour cela
 +que je veux expliquer comment le configurer correctment sous FreeBSD, un
 +processus assez simple grace aux facilites qui nous donne cette système.
 +
 +  * Structure de la configuration
 +
 +Les fichiers de configuration de Sendmail que nous modifierons se
 +trouvent dans le répertoire /etc/mail. Ces fichiers sont un
 +complément des beaucoup d'​autres inclus dans le répertoire
 +/​usr/​share/​sendmail/​cf,​ mais que nous ne devrons jamais modifier.
 +
 +Sendmail se configure à partir de certains fichiers avec une syntaxe un
 +peu complexe ( dont l'​extension est .cf ) dans les répertoires mentionnes
 +precedemment. Dans les dernières versions de ce MTA, le procssus a été
 +grandement simplifié, de manière que désormais, nous ne devrons pas toucher
 +ces fichiers. Nous editerons à la place les fichiers avec
 +l'​extension .mc qui, une fois reécris, nous donnerons les precedents.
 +
 +La version 8 de sendmail s'​accompagne d'une nouvelle manière de générer
 +les fichiers de configuration avec le pré-processeur m4, grâce auquel le
 +travail de configuration à la main se fait à un niveau d'​abstraction
 +plus élevé
 +
 +En fait les fichiers .mc se forment à partir de macros qui se repandent
 +dans ses correspondantes fichiers.cf,​ et donnent lieu à un fichier de
 +configuration vraiment complet. Le fichier qu'en realite lira Sendmail
 +sera /​etc/​mail/​sendmail.cf. Les autres fichiers avec des extensions
 +semblables dans le répertoire de configuration ne serons pas utilisés
 +directement.
 +
 +  * Creation de notre .mc
 +
 +Pour créer notre fichier de configuration nous nous baserons sur ce qui
 +est inclus dans FreeBSD par défaut. Il est conseillé de nommer notre
 +fichier avec le nom de la machine, si nous voulons mantenir divers
 +fichier de configuration . Tapez:
 +<​code>​
 +# cd /etc/mail
 +# cp freebsd.mc klamath.mc
 +</​code>​
 +Le pas suivant c'est indiquer à FreeBSD quelle est notre fichier de
 +configuration pour qu'il puisse automatiser diverses actions plus tard
 +.Editez maintenant /​etc/​make.conf avec votre éditeur de texte préféré et
 +tapez:
 +<​code>​
 +SENDMAIL_MC=/​etc/​mail/​klamath.mc
 +</​code>​
 +
 +  * Utilisation du fichier .mc
 +
 +Avant de procéder à la configuration,​ il est nécessaire de preciser
 +comment nous convertirons notre fichier .mc en son correspondant.cf et
 +comment nous indiquerons à Sendmail qu'il l'​utilise.
 +Avant tout nous ferons la conversion:
 +<​code>​
 +/etc/mail# make
 +</​code>​
 +Avec ça , FreeBSD nous donnera un fichier klamath.cf pret à l'​emploi.
 +Pour que Sendmail l'​utilise il faudra le copier en sendmail.cf.
 +Nous pouvons automatiser le processus en tapant:
 +<​code>​
 +/etc/mail# make install
 +</​code>​
 +Après rien de plus facile, redemarrez le MTA:
 +<​code>​
 +/etc/mail# make restart
 +</​code>​
 +
 +  * Modifications de base
 +
 +Je ne pretend pas detailler dans cette article tous les possibles
 +options de Sendmail, bien que je veuille vous donner quelques conseils
 +utiles. Si vous avez besoin de plus d'​information lisez
 +/​usr/​share/​sendmail/​cf/​README.
 +
 +  * Smarthost
 +
 +Beaucoup d'​entre nous disposent d'un serveur de courrier chez
 +son ISP. Si nous voulont l'​utiliser au lieu de distribuer nous memes
 +le courrier, il suffira que nous ajoutions la ligne suivante à notre
 +fichier de configuration (klamath.mc),​ remplaçant le nom du serveur:
 +<​code>​
 +define(`SMART_HOST',​ `smtp.menta.net'​)
 +</​code>​
 +
 +  * Procmail
 +
 +Si nous avons installé le logiciel procmail , pouvons indiquer à
 +Sendmail qui l' utilise par defaut pour distribuer le courrier local.
 +Pour ce faire nous devrons ajouter à notre configuration:​
 +<​code>​
 +FEATURE(local_procmail)
 +</​code>​
 +
 +  * Genericstable
 +
 +La dernière fonction que je voulais vous commenter c'est genericstable.
 +Elle nous aidera à reecrire le champ From: des messages sortants pour
 +qu'il soient valides. Il est habituel que quand nous envoyons courrier
 +local, ce champ reste intact ,avec le nom du serveur de notre machine;
 +cela facilite le repostage des courriers locaux .
 +
 +D'​autre part, nous voulons aussi que quand nous envoyons du courrier
 +sortant à un adresse d'​internet en dehors de notre machine ,le champ From:
 +soit modifie et reecrit de manière que les gents peuvent nous repondre à
 +notre adresse d'​internet (habituelment celui de notre ISP).
 +
 +Pour obtenir cela, nous ajouterons les lignes suivantes à notre fichier de
 +configuration:​
 +<​code>​
 +FEATURE(masquerade_envelope)
 +FEATURE(genericstable,​ `hash -o /​etc/​mail/​genericstable'​)
 +GENERICS_DOMAIN_FILE(`/​etc/​mail/​genericsdomain'​)
 +</​code>​
 +Et creérons les fichiers référes. Commençons par
 +/​etc/​mail/​genericsdomain,​ parce que c'est le plus simple. Ce fichier
 +indique quel domaine est consideré local et aidera le MTA à distinguer
 +le courrier local et externe. Tapez:
 +<​code>​
 +/etc/mail# hostname > genericsdomain
 +</​code>​
 +Maintenant, nous devrons créer la table de conversion d'​adresses.
 +Editons le fichier /​etc/​mail/​genericstable,​ et ajoutons les adresses
 +de courrier de cette façon :
 +<​code>​
 +# utilisateur local    adresse d'​internet
 +chantal ​              ​chantal@bretagne.net
 +</​code>​
 +Nous pouvons ajouter autant d'​adresses que nous voulons. Il est très important
 +de souligner que nous devrons convertir ce fichier en un base de données
 +binaire chaque fois qu'il est modifier . Pour le faire ; tapez:
 +<​code>​
 +/etc/mail# makemap hash genericstable.db < genericstable
 +</​code>​
 +Après le demarrage du Sendmail tout devra fonctionner correctment et
 +nous pourrons envoyer courrier, meme avec la commande mail!.
 +
 +  * Configuration d'​exemple
 +
 +J'​inclus içi le fichier de configuration complet que j'​utilise dans ma
 +machine pour que vous puissiez voir comme fonctione le tout. Il faut
 +souligner que l'​ordre des commandes est important dans la plupart des cas.
 +<​code>​
 +dnl
 +dnl fichier de configuration pour Sendmail
 +dnl
 +divert(0)
 +OSTYPE(bsd4.4)
 +DOMAIN(generic)
 +FEATURE(access_db,​ `hash -o /​etc/​mail/​access'​)
 +FEATURE(local_lmtp)
 +define(`PROCMAIL_MAILER_PATH',​ `/​usr/​local/​bin/​procmail'​)
 +FEATURE(local_procmail)
 +FEATURE(mailertable,​ `hash -o /​etc/​mail/​mailertable'​)
 +FEATURE(relay_based_on_MX)
 +FEATURE(virtusertable,​ `hash -o /​etc/​mail/​virtusertable'​)
 +FEATURE(masquerade_envelope)
 +FEATURE(genericstable,​ `hash -o /​etc/​mail/​genericstable'​)
 +GENERICS_DOMAIN_FILE(`/​etc/​mail/​genericsdomain'​)
 +define(`SMART_HOST',​ `smtp.menta.net'​)
 +define(`confCW_FILE',​ `-o /​etc/​mail/​local-host-names'​)
 +define(`confMAX_MIME_HEADER_LENGTH',​ `256/​128'​)
 +define(`confNO_RCPT_ACTION',​ `add-to-undisclosed'​)
 +define(`confPRIVACY_FLAGS',​ `authwarnings,​noexpn,​novrfy'​)
 +MAILER(local)
 +MAILER(smtp)
 +</​code>​
 +
 +  * Pour finir
 +
 +J'​espère que l'​article n'est pas trop complexe. Si tout fonctionne
 +correctement,​ vous aurez un des MTAs plus puissant et complet à vos
 +ordres ;)
 +
 +Si vous trouvez des erreurs, n'​hesitez pas à me contacter
freebsd/sendmail_simple.txt · Last modified: 2010/01/12 13:29 (external edit)