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-cfEstos 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-cfDeberí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 startAhora el servidor está en funcionamiento.
Primero agrega la dirección IP del servidor remoto y su nombre de dominio a /etc/hosts
vi /etc/hosts10.1.1.10 smtp.example.comNo 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.mcReenviando 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/genericstableEn 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.mcAgrega estas líneas para habilitar características:
FEATURE(masquerade_envelope)dnl
FEATURE(`genericstable')dnl
GENERICS_DOMAIN(`localhost.localdomain')dnlLuego ejecuta:
make -C /etc/mailDeberí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 restartEso 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/accessconnect:10.1.1.50 RELAYcd /etc/mailRecompila el archivo de base de datos de acceso.
/usr/sbin/makemap hash access < accessReinicia el servicio sendmail.
root@smtp# service sendmail restartEso 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.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.