Serveur Mail · 3 min read · Dec 25, 2025

Configurer SendMail pour agir en tant que SmartHost et réécrire l'adresse d'expédition

Configurer SendMail pour agir en tant que SmartHost et réécrire l’adresse d’expédition

Ce tutoriel explique comment configurer un serveur sendmail pour transférer tous les mails générés depuis localhost vers un autre serveur SMTP pour l’envoi de mails à des destinataires distants. Il explique également comment réécrire l’adresse d’expédition de [email protected] à [email protected].

Scénario d’exemple : Vous avez un serveur de production qui n’est pas configuré pour relayer les mails à l’extérieur, mais il y a une application qui fonctionne sur ce serveur et qui envoie son journal à l’adresse e-mail donnée concernant son statut et en cas de défaillances de service. Comme le sendmail fonctionne localement sur le nom localhost.localdomain, il essaie de transférer le mail avec [email protected] au serveur smtp distant, ce qui serait rejeté en raison du fait que localhost.localdomain résout à une IP invalide. Donc, pour surmonter cela, nous devons réécrire l’adresse d’expédition de [email protected] à [email protected]. Ainsi, l’autre serveur smtp relaye le mail de [email protected] à [email protected] ou à toute autre adresse à laquelle vous souhaitez envoyer le mail de statut du service.

REMARQUE : Des parties spécifiques de ce tutoriel s’appliquent uniquement aux systèmes basés sur Redhat, mais en général, la procédure s’applique à tous les serveurs sendmail.

IP SMARTHOST : 10.1.1.50
IP HÔTE SMTP : 10.1.1.10

Vérifier les RPMS installés :

Tout d’abord, les rpms Sendmail doivent être installés. Par défaut, Sendmail est installé avec l’installation du système.

Vérifiez les rpms sendmail installés :

root@nerdplanet# rpm -q sendmail sendmail-cf

Ces deux paquets devraient être listés comme installés :

sendmail-8.xx
sendmail-cf-8.xx

S’ils ne sont pas déjà installés, installez-les.

Installer les Rpms

root@nerdplanet# yum install sendmail sendmail-cf

Cela devrait les installer dans votre système linux.

Une fois installés, vous devez vous assurer que le serveur est démarré et qu’il démarre automatiquement au redémarrage.

root@nerdplanet# chkconfig sendmail on  
root@nerdplanet# service sendmail start

Maintenant, le serveur est en marche.

Ajoutez d’abord l’adresse IP du serveur distant et son nom de domaine dans le fichier /etc/hosts

vi /etc/hosts
10.1.1.10    smtp.example.com

Vous n’avez pas besoin de faire l’étape ci-dessus si votre DNS local peut résoudre le nom de domaine à l’adresse IP du serveur smtp qui est configuré pour relayer les mails.

Modifier le fichier de configuration Sendmail pour le transfert des mails

vi /etc/mail/sendmail.mc

Transfert des mails vers smarthost

dnl # define(`SMART_HOST',`smtp.example.net') 

Trouvez la ligne qui contient l’entrée ci-dessus et remplacez-la par l’adresse de votre serveur smtp.

define(`SMART_HOST',`smtp.example.com')

Puis enregistrez le fichier.

Pour réécrire l’adresse d’expédition des mails, créez le fichier genericstable.

vi /etc/mail/genericstable

Dans le fichier de la table générique, entrez les lignes suivantes :

root    [email protected]
mohan   [email protected]

Les lignes ci-dessus signifient que si des mails sont envoyés par root, ils seront masqués et apparaîtront comme venant de [email protected] au lieu de [email protected], et si un mail est envoyé par l’utilisateur mohan, il apparaîtra comme venant de [email protected] au lieu de [email protected].

Puis enregistrez le fichier.

Activer les fonctionnalités dans le fichier de configuration sendmail.

vi /etc/mail/sendmail.mc

Ajoutez ces lignes pour activer les fonctionnalités :

FEATURE(masquerade_envelope)dnl
FEATURE(`genericstable')dnl
GENERICS_DOMAIN(`localhost.localdomain')dnl

Puis exécutez :

make -C /etc/mail

Cela devrait compiler tous les fichiers sous le répertoire /etc/mail et mettre à jour les changements.

Après cela, redémarrez le service sendmail.

root@nerdplanet# service sendmail restart

C’est tout, vous avez configuré sendmail pour agir en tant que smarthost.

Configurer votre serveur SMTP pour accepter les mails des Smarthosts :


REMARQUE : Cette procédure s’applique uniquement si le serveur smtp distant en direct est un serveur sendmail, ce qui est vrai dans ce scénario. Pour d’autres serveurs SMTP, référez-vous à leur documentation.

Présomptions : Le serveur SMTP en direct utilise déjà FEATURE (‘access_db’..

Modifiez le fichier d’accès sur le serveur smtp en direct pour accepter les mails du smart host.

vi /etc/mail/access
connect:10.1.1.50    RELAY
cd /etc/mail

Reconstruisez le fichier de base de données d’accès.

/usr/sbin/makemap hash access < access

Redémarrez le service sendmail.

root@smtp# service sendmail restart

C’est tout ; le serveur smtp distant acceptera les mails du smarthost.

J’espère que ce tutoriel est utile à quelqu’un. Veuillez laisser vos commentaires.

Lien original : Ce tutoriel est également disponible sur http://www.nerdplanet.co.uk.

Santé !

Mohan.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.