====== 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
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'' :\\
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
> /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
{{tag>GNU_Linux Postfix Sendmail SMTP}}