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-cfCes 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-cfCela 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 startMaintenant, 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/hosts10.1.1.10 smtp.example.comVous 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.mcTransfert 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/genericstableDans 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.mcAjoutez ces lignes pour activer les fonctionnalités :
FEATURE(masquerade_envelope)dnl
FEATURE(`genericstable')dnl
GENERICS_DOMAIN(`localhost.localdomain')dnlPuis exécutez :
make -C /etc/mailCela 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 restartC’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/accessconnect:10.1.1.50 RELAYcd /etc/mailReconstruisez le fichier de base de données d’accès.
/usr/sbin/makemap hash access < accessRedémarrez le service sendmail.
root@smtp# service sendmail restartC’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.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.