This is an old revision of the document!
Table of Contents
Sendmail
Installation et configuration basique
Voici ce que j'ai retrouvé dans mon history concernant l'installation et la configuration de Sendmail :
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
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 :
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
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 :
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
Explication
La ligne suivante sert juste à indiquer une note de version, à titre informatif :
VERSIONID(`20181204 commentaire')dnl
La ligne suivante spécifie le serveur SMTP à utiliser :
define(`SMART_HOST', `mon-smtp.domaine.local')dnl
La ligne suivante spécifie de n'accepter de relayer les emails qu'en provenance de localhost :
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
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) :
EXPOSED_USER(`root')dnl
La ligne suivante indique de modifier le champ RFC5321.MAILFROM (enveloppe) en + du champ RFC5322.FROM (expéditeur affiché dans le client de messagerie) :
FEATURE(masquerade_envelope)dnl
Les lignes suivantes spécifient le domaine à utiliser par défaut si l'utilisateur n'est pas défini dans le genericstable :
MASQUERADE_AS(`justice.gouv.fr')dnl FEATURE(masquerade_entire_domain)dnl MASQUERADE_DOMAIN(`justice.gouv.fr')dnl
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 :
FEATURE(`genericstable')dnl GENERICS_DOMAIN_FILE(`/etc/mail/generics-domains')dnl
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) :
MAILER(smtp)dnl MAILER(procmail)dnl
Contenu du fichier /etc/mail/generics-domains :
localhost.localdomain VM-OPM-BATCH-01.recette.justice.local recette.justice.local justice.gouv.fr
Contenu du fichier /etc/mail/genericstable :
opm opm.dacs-m2@justice.gouv.fr
Commande pour prise en compte du genericstable :
makemap hash /etc/mail/genericstable < /etc/mail/genericstable
Test de la configuration
Tests de la configuration de sendmail :
[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
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.
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
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
