Sendmail
De BlaxWiki
Aller à la navigationAller à la rechercheEnvoie 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