SendMail configuración · 3 min read · Dec 25, 2025

Configurando SendMail Para Actuar Como Un SmartHost Y Reescribir La Dirección De Remitente

Configurando SendMail Para Actuar Como Un SmartHost Y Reescribir La Dirección De Remitente

Este tutorial explica cómo configurar un servidor sendmail para reenviar todos los correos generados desde localhost a otro servidor SMTP para enviar correos a destinatarios remotos. También explica cómo reescribir la dirección de [email protected] a [email protected].

Escenario Ejemplo: Tienes un servidor de producción que no está configurado para reenviar correos externamente, pero hay una aplicación que se ejecuta en ese servidor que envía su registro a la dirección de correo electrónico dada sobre su estado y en caso de fallos en el servicio. Dado que sendmail se ejecuta localmente en el nombre localhost.localdomain, intenta reenviar el correo con [email protected] al servidor smtp remoto, lo que sería rechazado debido a que localhost.localdomain se resuelve a una IP inválida. Por lo tanto, para superar eso, tenemos que reescribir la dirección de [email protected] a [email protected]. De modo que el otro servidor smtp reenvíe el correo de [email protected] a [email protected] o cualquier dirección a la que desees enviar el correo de estado del servicio.

NOTA: Partes específicas de este tutorial se aplican solo a sistemas basados en Redhat, pero en general el procedimiento se aplica a todos los servidores sendmail.

IP DEL SMARTHOST : 10.1.1.50
IP DEL HOST SMTP : 10.1.1.10

Verificar los RPMS Instalados:

Primero, los rpms de Sendmail deben estar instalados. Por defecto, Sendmail se instala con la instalación del sistema.

Verifica los rpms de sendmail instalados:

root@nerdplanet# rpm -q sendmail sendmail-cf

Estos dos paquetes deberían aparecer como instalados:

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

Si no están instalados, instálalos.

Instalar los Rpms

root@nerdplanet# yum install sendmail sendmail-cf

Debería instalarlos en tu sistema linux.

Una vez instalados, debes asegurarte de que el servidor esté iniciado y que se inicie automáticamente al reiniciar.

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

Ahora el servidor está en funcionamiento.

Primero agrega la dirección IP del servidor remoto y su nombre de dominio a /etc/hosts

vi /etc/hosts
10.1.1.10    smtp.example.com

No necesitas hacer el paso anterior si tu DNS local puede resolver el nombre de dominio a la dirección IP del servidor smtp que está configurado para reenviar correos.

Editar el archivo de configuración de Sendmail para reenviar correos

vi /etc/mail/sendmail.mc

Reenviando correos al smarthost

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

Encuentra la línea que contiene la entrada anterior y reemplázala con la dirección de tu servidor smtp.

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

Luego guarda el archivo.

Para reescribir la dirección de remitente de los correos, crea el archivo genericstable.

vi /etc/mail/genericstable

En el archivo de la tabla de genéricos, ingresa las siguientes líneas:

root    [email protected]
mohan   [email protected]

Las líneas anteriores significan que si se envían correos por root, serán enmascarados y aparecerán como si vinieran de [email protected] en lugar de [email protected], y si algún correo es enviado por el usuario mohan, aparecerá como si viniera de [email protected] en lugar de [email protected]

Luego guarda el archivo.

Habilitando Características en el archivo de configuración de sendmail.

vi /etc/mail/sendmail.mc

Agrega estas líneas para habilitar características:

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

Luego ejecuta:

make -C /etc/mail

Debería compilar todos los archivos en el directorio /etc/mail y actualizar los cambios.

Después de eso, reinicia el servicio sendmail.

root@nerdplanet# service sendmail restart

Eso es todo, has configurado sendmail para actuar como un smarthost.

Configurando Tu Servidor SMTP Para Aceptar Correos Desde Smarthosts:


NOTA: Este procedimiento es aplicable solo si el servidor smtp remoto en vivo es un servidor sendmail, lo cual es cierto en este escenario. Para otros servidores SMTP, consulta su documentación.

Presunciones: El servidor SMTP en vivo ya está utilizando FEATURE (‘access_db’..

Edita el archivo de acceso en el servidor smtp en vivo para aceptar correos del smart host.

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

Recompila el archivo de base de datos de acceso.

/usr/sbin/makemap hash access < access

Reinicia el servicio sendmail.

root@smtp# service sendmail restart

Eso es todo; el servidor smtp remoto aceptará correos del smarthost.

Espero que este tutorial sea útil para alguien. Por favor, deja tus comentarios.

Enlace Original: Este tutorial también está disponible en http://www.nerdplanet.co.uk.

¡Saludos!

Mohan.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.