User Tools

Site Tools


informatique:linux:sendmail

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
informatique:linux:sendmail [2020/04/29 09:54] didzkovitchzinformatique:linux:sendmail [2020/11/09 10:17] (current) didzkovitchz
Line 1: Line 1:
 ====== Sendmail ====== ====== Sendmail ======
  
 +===== Installation et configuration basique =====
  
-{{tag>GNU_Linux Postfix Sendmail}}+Voici ce que j'ai retrouvé dans mon history concernant l'installation et la configuration de Sendmail : 
 + 
 +<code> 
 +yum install sendmail sendmail-cf m4 mailx 
 + 
 +vi /etc/mail/sendmail.mc 
 +cd /etc/mail/ 
 +newaliases 
 +m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf 
 +systemctl restart sendmail.service 
 +mail -s "aaa" adressebidon@gmail.com 
 +tail /var/log/maillog 
 +</code> 
 + 
 +''%%up2date sendmail-cf%%'' => ça sert juste à mettre à jour les paquets sendmail donc osef 
 + 
 +Il avait fallu que je fasse un downgrade de Cyrus avant : 
 + 
 +''%%yum downgrade cyrus-sasl-2.1.26-17.el7.x86_64 cyrus-sasl-lib-2.1.26-17.el7.x86_64%%'' 
 + 
 + 
 +Lignes que j'ai customisé dans le fichier ''%%/etc/mail/sendmail.mc%%''
 + 
 +<code> 
 +VERSIONID(`2018-10-01 commentaire')dnl 
 +define(`SMART_HOST', `smtp.domaine.local')dnl 
 +DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl 
 +LOCAL_DOMAIN(`ma-vm.domaine.local')dnl 
 +</code> 
 + 
 +FIXME Attention la ligne avec SMART_HOST commence par dnl par défaut, il faut penser à enlever ça, et il faut un FQDN comme smarthost (si on met une adresse IP ça ne passe pas) 
 + 
 + 
 +===== Masquerading du sender ===== 
 + 
 +==== Commandes utiles ==== 
 + 
 +Editer le fichier de configuration :\\ 
 +''%%vi /etc/mail/sendmail.mc%%'' 
 + 
 +Générer le fichier de configuration exploitable par sendmail :\\ 
 +''%%m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf%%'' 
 + 
 +Redémarrer le service pour prise en compte de la configuration :\\ 
 +''%%service sendmail restart ou systemctl restart sendmail.service%%'' 
 + 
 +==== Fichier de configuration ==== 
 + 
 +Configuration à appliquer dans le fichier ''/etc/mail/sendmail.mc'' :\\ 
 +<code> 
 +VERSIONID(`BATCH OPM 20181204')dnl 
 +define(`SMART_HOST', `smtp2.justice.gouv.fr')dnl 
 +EXPOSED_USER(`root')dnl 
 +DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl 
 +FEATURE(masquerade_envelope)dnl 
 +FEATURE(masquerade_entire_domain)dnl 
 +MASQUERADE_AS(`justice.gouv.fr')dnl 
 +MASQUERADE_DOMAIN(`justice.gouv.fr')dnl 
 +FEATURE(`genericstable')dnl 
 +GENERICS_DOMAIN_FILE(`/etc/mail/generics-domains')dnl 
 +</code> 
 + 
 +==== Explication ==== 
 + 
 +La ligne suivante sert juste à indiquer une note de version, à titre informatif :\\ 
 +<code> 
 +VERSIONID(`20181204 commentaire')dnl 
 +</code> 
 + 
 +La ligne suivante spécifie le serveur SMTP à utiliser : 
 +<code> 
 +define(`SMART_HOST', `mon-smtp.domaine.local')dnl 
 +</code> 
 + 
 +La ligne suivante spécifie de n'accepter de relayer les emails qu'en provenance de ''localhost'' :\\ 
 +<code> 
 +DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl 
 +</code> 
 + 
 +La ligne suivante indique que les emails en provenance de l'utilisateur ''root'' ne seront pas modifiés //(normal, car root ne doit envoyer que des emails relatifs au système, aux administrateurs système)// :\\ 
 +<code> 
 +EXPOSED_USER(`root')dnl 
 +</code> 
 + 
 +La ligne suivante indique de modifier le champ ''RFC5321.MAILFROM'' //(enveloppe)// en + du champ ''RFC5322.FROM'' //(expéditeur affiché dans le client de messagerie)// :\\ 
 +<code> 
 +FEATURE(masquerade_envelope)dnl 
 +</code> 
 + 
 +Les lignes suivantes spécifient le domaine à utiliser par défaut si l'utilisateur n'est pas défini dans le ''genericstable''
 +<code> 
 +MASQUERADE_AS(`justice.gouv.fr')dnl 
 +FEATURE(masquerade_entire_domain)dnl 
 +MASQUERADE_DOMAIN(`justice.gouv.fr')dnl 
 +</code> 
 + 
 +Les lignes suivantes servent à définir l'adresse email d'expéditeur à utiliser suivant l'utilisateur Unix qui envoie l'email //(voir plus bas "Contenu du fichier ''/etc/mail/genericstable''")// et les domaines à inspecter : 
 +<code> 
 +FEATURE(`genericstable')dnl 
 +GENERICS_DOMAIN_FILE(`/etc/mail/generics-domains')dnl 
 +</code> 
 + 
 +NB : Les lignes qui commencent par ''dnl'' sont des commentaires, et chaque ligne doit se terminer par cette même directive //(''dnl'')//
 +Les directives par rapport au MAILER doivent se trouver tout à la fin du fichier //(lignes suivantes)//
 +<code> 
 +MAILER(smtp)dnl 
 +MAILER(procmail)dnl 
 +</code> 
 + 
 +Contenu du fichier ''%%/etc/mail/generics-domains%%'' :\\ 
 +<code> 
 +localhost.localdomain 
 +VM-OPM-BATCH-01.recette.justice.local 
 +recette.justice.local 
 +justice.gouv.fr 
 +</code> 
 + 
 +Contenu du fichier ''%%/etc/mail/genericstable%%'' :\\ 
 +<code> 
 +opm     opm.dacs-m2@justice.gouv.fr 
 +</code> 
 + 
 +Commande pour prise en compte du ''genericstable'' :\\ 
 +<code> 
 +makemap hash /etc/mail/genericstable < /etc/mail/genericstable 
 +</code> 
 + 
 + 
 +==== Test de la configuration ==== 
 + 
 +Tests de la configuration de sendmail :\\ 
 +<code> 
 +[root@VM-OPM-BATCH-01 mail]# sendmail -bt 
 +ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) 
 +Enter <ruleset> <address> 
 +> /tryflags HS 
 +> /try local opm 
 +Trying header sender address opm for mailer local 
 +canonify           input: opm 
 +Canonify2          input: opm 
 +Canonify2        returns: opm 
 +canonify         returns: opm 
 +1                  input: opm 
 +1                returns: opm 
 +HdrFromL           input: opm 
 +AddDomain          input: opm 
 +AddDomain        returns: opm < @ *LOCAL* > 
 +MasqHdr            input: opm < @ *LOCAL* > 
 +canonify           input: opm . dacs-m2 @ justice . gouv . fr 
 +Canonify2          input: opm . dacs-m2 < @ justice . gouv . fr > 
 +Canonify2        returns: opm . dacs-m2 < @ justice . gouv . fr . > 
 +canonify         returns: opm . dacs-m2 < @ justice . gouv . fr . > 
 +MasqHdr          returns: opm . dacs-m2 < @ justice . gouv . fr . > 
 +HdrFromL         returns: opm . dacs-m2 < @ justice . gouv . fr . > 
 +final              input: opm . dacs-m2 < @ justice . gouv . fr . > 
 +final            returns: opm . dacs-m2 @ justice . gouv . fr 
 +Rcode = 0, addr = opm.dacs-m2@justice.gouv.fr 
 +> /map generics opm 
 +map_lookup: generics (opm) returns opm.dacs-m2@justice.gouv.fr (0) 
 +> /try local root 
 +Trying header sender address root for mailer local 
 +canonify           input: root 
 +Canonify2          input: root 
 +Canonify2        returns: root 
 +canonify         returns: root 
 +1                  input: root 
 +1                returns: root 
 +HdrFromL           input: root 
 +AddDomain          input: root 
 +AddDomain        returns: root < @ *LOCAL* > 
 +MasqHdr            input: root < @ *LOCAL* > 
 +MasqHdr          returns: root < @ VM-OPM-BATCH-01 . recette . justice . local . > 
 +HdrFromL         returns: root < @ VM-OPM-BATCH-01 . recette . justice . local . > 
 +final              input: root < @ VM-OPM-BATCH-01 . recette . justice . local . > 
 +final            returns: root @ VM-OPM-BATCH-01 . recette . justice . local 
 +Rcode = 0, addr = root@VM-OPM-BATCH-01.recette.justice.local 
 +>/try local bapt 
 +Trying header sender address bapt for mailer local 
 +canonify           input: bapt 
 +Canonify2          input: bapt 
 +Canonify2        returns: bapt 
 +canonify         returns: bapt 
 +1                  input: bapt 
 +1                returns: bapt 
 +HdrFromL           input: bapt 
 +AddDomain          input: bapt 
 +AddDomain        returns: bapt < @ *LOCAL* > 
 +MasqHdr            input: bapt < @ *LOCAL* > 
 +MasqHdr          returns: bapt < @ justice . gouv . fr . > 
 +HdrFromL         returns: bapt < @ justice . gouv . fr . > 
 +final              input: bapt < @ justice . gouv . fr . > 
 +final            returns: bapt @ justice . gouv . fr 
 +Rcode = 0, addr = bapt@justice.gouv.fr 
 +> /quit 
 +</code> 
 + 
 + 
 +===== Fichiers de configuration ===== 
 + 
 +[[https://www.zdnet.fr/actualites/configurer-sans-peine-un-serveur-sendmail-sous-linux-2101125.htm]] 
 + 
 +Depuis la version 8.9, c'est dans le répertoire ''%%/etc/mail/%%'' que se trouvent tous les fichiers de configuration nécessaires pour faire fonctionner Sendmail.\\ 
 +Toutefois, quelques changements de nomenclature ont été opérés.\\ 
 +Le Tableau A devrait vous aider si vous utilisez une version plus ancienne. 
 + 
 +<code> 
 +Tableau A 
 +Emplacement dans versions antérieures à 8.9 Emplacement dans version 8.9 
 +/etc/sendmail/sendmail.cw /etc/mail/local-host-names 
 +/etc/aliases /etc/mail/aliases 
 +/etc/sendmail.ct /etc/mail/trusted-users 
 +/etc/sendmail.hf /etc/mail/helpfile  
 +</code> 
 + 
 + 
 +===== Liens ===== 
 + 
 +https://www.oreilly.com/library/view/sendmail-cookbook/0596004710/ch04.html\\ 
 +http://www.xeams.com/difference-envelope-header.htm\\ 
 +http://etutorials.org/Server+Administration/Sendmail/Part+I+Build+and+Install/Chapter+4.+Configure+sendmail.cf+with+m4/4.4+Masquerading/\\ 
 +https://sites.google.com/site/syscookbook/miscellaneous/sendmail\\ 
 +http://www.planet-libre.org/index.php?post_id=8739\\ 
 + 
 +Article très bien :\\ 
 +https://www.system-linux.eu/index.php?post/2009/01/27/Traitement-de-Queue-mail-Postfix 
 + 
 +{{tag>GNU_Linux Postfix Sendmail SMTP}}
informatique/linux/sendmail.1588146894.txt.gz · Last modified: 2020/04/29 09:54 by didzkovitchz