Relay pour domaine spécifique
root@mail-npmoxsys:~# cat /etc/postfix/transport outlook.com smtp:[smtp.domain.com] hotmail.com smtp:[smtp.domain.com]
Dans /etc/postfix/main.cf :
transport_maps = proxy:ldap:/etc/postfix/ldap/transport_maps_user.cf proxy:ldap:/etc/postfix/ldap/transport_maps_domain.cf hash:/etc/postfix/transport
postmap transport
Changer émetteur
echo "this is the mail" | sendmail -F "Bogus User" -f bogususer@some.net recipient@destination.address
Pré-requis
Installation de Postfix
- Si le serveur est en intranet
yum
peut être utilisé pour faire l'installation :
yum install postfix
- Si le serveur est en DMZ il faut récupérer le rpm (via ftp ou autre) sur le master Linux
parsl9000157
qui correspond à la version de Red Hat installée.
⇒ pour vérifier cat /etc/redhat-release
Red Hat 4
/apps/kickstart/RedHat_4.0AS/x86_64/RHEL4-U2/RedHat/RPMS/postfix-2.1.5-4.2.RHEL4.x86_64.rpm /apps/kickstart/RedHat_4.0AS/x86_64/RHEL4-U4/RedHat/RPMS/postfix-2.2.10-1.RHEL4.2.x86_64.rpm /apps/kickstart/RedHat_4.0AS/x86_64/RHEL4-U5/RedHat/RPMS/postfix-2.2.10-1.1.el4.x86_64.rpm /apps/kickstart/RedHat_4.0AS/x86_64/RHEL4-U6/RedHat/RPMS/postfix-2.2.10-1.1.el4.x86_64.rpm
Red Hat 3
/apps/kickstart/RedHat_3.0AS/i386/RHEL3-U4/RedHat/RPMS/postfix-2.0.16-14.RHEL3.i386.rpm /apps/kickstart/RedHat_3.0AS/i386/RHEL3-U6/RedHat/RPMS/postfix-2.0.16-14.RHEL3.i386.rpm /apps/kickstart/RedHat_3.0AS/i386/RHEL3-U8/RedHat/RPMS/postfix-2.0.16-14.RHEL3.i386.rpm /apps/kickstart/RedHat_3.0AS/i386/RHEL3-U9/RedHat/RPMS/postfix-2.0.16-14.RHEL3.i386.rpm
Puis on lance l'install :
rpm -ivh postfix-2.x.x-x.rpm
Suppression de Sendmail
Si Sendmail est déjà installé il faut le désinstaller, pour vérifier sa présence :
rpm -qa|grep sendmail
- On le supprime ainsi que
procmail
:
rpm -e `rpm -qa |egrep "procmail|sendmail"`
Vérification de la demande IRIS
Au préalable la mise en oeuvre applicative doit avoir effectué une demande IRIS pour permettre l'envoi de mail via une passerelle SMTP dans laquelle il faut récupérer l'adresse de sortie ainsi que le nom DNS complet du serveur de mail. Ici nous prendrons adresse@domain.com et PARAPPSMTP3. Parfois le nom de serveur indiqué est incorrect, il faut alors cliquer sur le lien Notes pour afficher le nom complet.
Configuration
- Dans le fichier
/etc/postfix/main.cf
on doit avoir :
relayhost = PARAPPSMTP3.fr.net.intra myhostname = server1102931.fr.net.intra sender_canonical_maps = hash:/etc/postfix/canonical
- Créer le fichier
/etc/postfix/canonical
pour la réécriture des adresses de sortie :
root adresse@domain.com
Ici quand un mail est envoyé à partir de root l'adresse de sortie est adresse@domain.com
(contrainte de sécurité). On peut spécifier autant d'adresses que nécessaires.
- Créer la table à partir du fichier avec la commande :
postmap /etc/postfix/canonical
- Recharger Postfix avec la commande :
postfix reload
Tests
- Tester l'envoi de mail avec la commande suivante, par ex. :
echo "test" |mail -s "Test envoi de mail" nom.prenom@societe.com
- Dans le fichier
/var/log/maillog
on trouve :
Apr 11 14:16:39 server1102931 postfix/pickup[14282]: 9B5101003D: uid=0 from=<root> Apr 11 14:16:39 server1102931 postfix/cleanup[14458]: 9B5101003D: message-id=<20.9B@server1102931.fr.net.intra> Apr 11 14:16:39 server1102931 postfix/nqmgr[14283]: 9B5101003D: from=<adresse@domain.com>, size=347, nrcpt=1 (queue active) Apr 11 14:16:39 server1102931 postfix/smtp[14460]: 9B5101003D: to=<nom.prenom@societe.com>, relay=vip-v-smtp-pop.fr.net.intra[X.X.X.X], delay=0, status=sent (250 Message accepted for delivery)