Différences entre les versions de « Sendmail »

De BlaxWiki
Aller à la navigationAller à la recherche
 
Ligne 1 : Ligne 1 :
__TOC__
__TOC__
=== Envoie de mail propre ===
<pre>
Lorsqu un serveur envoie un mail, il faut que son ip publique avec laquelle il sort ait bien un ptr & reverse dns identique
# zone randstad.fr
ext-cms.randstad.fr.    A  217.174.199.161
# zone 199.174.217.in-addr.arpa
161  PTR  ext-cms.randstad.fr.
Et le serveur peut etre blacklisté sur certain CBL, si il fait un helo localhost (et  pas un helo fqdn), il faut donc corriger
Dans le /etc/hosts (il faut que le premier nom sur la ligne 127.0.0.1 soit le domaine pour le helo / reverse)
127.0.0.1      ext-cms.randstad.fr localhost localhost.localdomain recette1b.ext-cms.randstad.fr
Dans la conf sendmail
LOCAL_DOMAIN(`ext-cms.randstad.fr')dnl
define(`confDOMAIN_NAME', `randstad.fr')dnl
define(`confHELO_NAME',`ext-cms.randstad.fr')dnl
FEATURE(masquerade_entire_domain)dnl
FEATURE(masquerade_envelope)dnl
</pre>
=== Configuration client ===
=== Configuration client ===
<pre>
<pre>

Version actuelle datée du 22 décembre 2016 à 10:48

Envoie de mail propre[modifier]

Lorsqu un serveur envoie un mail, il faut que son ip publique avec laquelle il sort ait bien un ptr & reverse dns identique

# zone randstad.fr
ext-cms.randstad.fr.    A   217.174.199.161

# zone 199.174.217.in-addr.arpa
161   PTR  ext-cms.randstad.fr.

Et le serveur peut etre blacklisté sur certain CBL, si il fait un helo localhost (et  pas un helo fqdn), il faut donc corriger

Dans le /etc/hosts (il faut que le premier nom sur la ligne 127.0.0.1 soit le domaine pour le helo / reverse)
127.0.0.1       ext-cms.randstad.fr localhost localhost.localdomain recette1b.ext-cms.randstad.fr


Dans la conf sendmail

LOCAL_DOMAIN(`ext-cms.randstad.fr')dnl
define(`confDOMAIN_NAME', `randstad.fr')dnl
define(`confHELO_NAME',`ext-cms.randstad.fr')dnl
FEATURE(masquerade_entire_domain)dnl
FEATURE(masquerade_envelope)dnl

Configuration client[modifier]

Cote équipement client, dans le cas d'un service sendmail, il est possible de specifier les 2 serveurs SMTP en smarthost en separant chaque entree par ":". Dans le fichier 
sendmail.cf, cela donnerait ceci : DSsmtp1.infra.agarik.com:smtp2.infra.agarik.com

Il est aussi possible de mettre les 2 serveurs dans le fichier mailertable : agarik.com esmtp:[172.26.0.9]:[192.168.26.9] 

Pour utiliser un relais smtp : define(`SMART_HOST',`smtp.fournisseur.fr') # Il faut mettre un hostname, donc à renseigner éventuellement dans /etc/hosts, on peut mettre 2 hosts 
define(`SMART_HOST',`smtp1.agarik.eu,smtp2.agarik.eu')dnl (apriori mettre : entre les 2 hosts fonctionne aussi)

Modification de configuration[modifier]

Il est inutile de relancer sendmail apres une modif de fichier acces ou mailertable, sendmail ne necessite un redemarrage que si sendmail.cf est modifie ou local-host-names.  
Pour info, un "make" dans /etc/mail fait ce qu'il faut (makemap et relance de sendmail si necessaire)
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

Relay subnet[modifier]

Le fichier access de sendmail ne prend pas en compte les subnet, il faut mettre les ip une à une. Un script est présent dans les sources de sendmail pour convertir les subnet en ip (contrib/cidrexpand)

Éditez le fichier /etc/mail/access et ajoutez les lignes suivantes :

Connect:10.80.30.101    RELAY
Connect:10.80.30.102    RELAY
Connect:10.80.30.103    RELAY
Connect:10.80.30.104    RELAY
.....

Puis :
#makemap hash /etc/mail/access.db < /etc/mail/access ou juste make

Rewrite de from[modifier]

Pour que tous les mails envoyés par root soit réécrit, modifiez le fichier /etc/mail/genericstable : root nepasrepondre_recette@eco-mobilier.fr

Gestion d'un domaine[modifier]

Voici les modifications à apporter à sendmail si l'on veut gérer un domaine simplement (serveur MX pour un domaine). Ici en exemple test.com. On doit créer les comptes system qui vont correspondre aux boites mails. Lorsqu'on fera du pop ou de l'imap (soft à installer en plus), il ne faudra pas spécifier l'adresse email entière (admin@test.com) mais juste le préfix (admin).

 - installer en plus sendmail-mda
 - echo "DEFAULT=$HOME/Maildir/" > /etc/procmailrc
 - /etc/mail/local-host-names doit comporter (un sur par ligne sans virgule): localhost, le fqdn du serveur, le nom du domaine qu on veut gérer
 - Modification de /etc/mail/sendmail.mc : DAEMON_OPTIONS(`Family=inet,  Name=MTA-v4, Port=smtp, Addr=0.0.0.0')dnl  (pour que sendmail n'ecoute plus qu en local)
  • Création des comptes / boites mails
 - Rajouter les lignes suivantes dans /etc/mail/virtusertable :
admin@test.com   admin
postmaster@test.com      postmaster
@test.com     error:nouser No such user here #pour éviter la default mailbox

# makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable && /etc/init.d/sendmail restart
# useradd -m -s /sbin/nologin admin
# passwd admin
# useradd -m -s /sbin/nologin postmaster
# passwd postmaster