Introducción
Sendmail es un programa de servidor que permite a las empresas enviar correo electrónico utilizando el Protocolo simple de transferencia de correo (SMTP). Por lo general, se instala en un servidor de correo en una máquina dedicada que acepta mensajes de correo salientes y los envía a destinatarios definidos.
Sendmail es un agente de transferencia de correo (MTA) que proviene del proyecto de código abierto, el software libre y las comunidades de Unix. Se distribuye como software libre y propietario. Se utiliza para enrutar el correo electrónico de Internet a un destinatario específico y puede hacerlo ejecutando el comando sendmail en un entorno de shell.
Sendmail también es un programa muy flexible que desciende del delivermail original de ARPANET. Admite muchos tipos de transferencia y envío de correo, incluido el muy popular SMTP. La versión original de Sendmail fue escrita por Eric Allman a principios de la década de 1980 en la Universidad de California, Berkeley, el mismo autor de delivermail.
Antes de empezar
Antes de iniciar el proceso de configuración, necesita la siguiente información:
- El nombre de host o la dirección IP del servidor SMTP externo
- El número de puerto utilizado por el servidor SMTP externo (generalmente 25, 587 o 465)
- Las credenciales de autenticación necesarias para acceder al servidor SMTP externo (por ejemplo, nombre de usuario y contraseña)
Instalar Sendmail
Si aún no tiene instalado Sendmail en su sistema, puede instalarlo siguiendo estos pasos:
- En un sistema basado en RHEL (como Fedora o CentOS), use el siguiente comando para instalar Sendmail:
sudo yum install sendmail sendmail-cf
- En un sistema basado en Debian (como Ubuntu o Debian), use el siguiente comando para instalar Sendmail:
sudo apt install sendmail sendmail-cf
Cree el archivo de credenciales SMTP
Para configurar las credenciales de inicio de sesión requeridas para acceder al servidor SMTP externo, debe crear un archivo llamado "smtp-auth-creds" en el directorio /etc/mail.
Abra el archivo de información de autenticación usando un editor de texto:
sudo nano /etc/mail/smtp-auth-creds
Agregue las siguientes líneas al archivo, reemplazando "nombre de usuario" con su nombre de usuario y "contraseña" con su contraseña:
AuthInfo:smtp.example.com "U:username" "P:password" "M:PLAIN"
Guarde el archivo y cierre el editor de texto.
Compile el archivo smtp-auth-creds en el archivo sendmail:
makemap hash /etc/mail/smtp-auth-creds < /etc/mail/smtp-auth-creds
Edite el archivo sendmail.mc
El siguiente paso es editar el archivo sendmail.mc para configurar el reenvío de correo electrónico a través de un servidor SMTP externo. El archivo sendmail.mc se encuentra en el directorio /etc/mail.
Abra el archivo sendmail.mc usando un editor de texto:
sudo nano /etc/mail/sendmail.mc
En el archivo de configuración, en la línea número 26, configure SMART_HOST en el reenviador. Por ejemplo, para enviar un correo electrónico a través de Gmail SMTP, establezca el valor en "smtp.gmail.com":
define(`SMART_HOST', `smtp.example.com')dnl
Después de la línea anterior, agregue más configuraciones como credenciales SMTP, puerto SMTP "587" con el número de puerto utilizado por su servidor SMTP externo, etc.:
define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl
FEATURE(`authinfo', `hash -o /etc/mail/smtp-auth-creds.db')dnl
define(`confAUTH_OPTIONS', `A p')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
Guarde el archivo y cierre el editor de texto.
Genere el archivo sendmail.cf
El archivo sendmail.mc se usa para generar el archivo sendmail.cf, que Sendmail usa para determinar su configuración. Para generar el archivo sendmail.cf, use el siguiente comando:
sudo make -C /etc/mail
Luego reinicie el servicio de sendmail para aplicar los cambios:
systemctl restart sendmail
Comprueba tu instalación
Para verificar que su configuración funciona como se esperaba, puede usar la utilidad de línea de comandos de sendmail para enviar un correo electrónico de prueba:
echo "This is a test email" | sendmail [email protected]
Si todo está configurado correctamente, debería recibir el correo electrónico de prueba en su bandeja de entrada.
Conclusión
En conclusión, configurar Sendmail para enrutar el correo electrónico a través de un servidor SMTP externo es un proceso relativamente simple que puede mejorar en gran medida la confiabilidad y la velocidad de su sistema de correo electrónico. Siguiendo la guía paso a paso descrita en este artículo, puede configurar fácilmente Sendmail para que funcione con su servidor SMTP externo, lo que garantiza que sus correos electrónicos se entreguen de manera rápida y confiable. Recuerde siempre hacer una copia de seguridad de sus archivos de configuración antes de realizar cualquier cambio y pruebe minuciosamente su configuración para asegurarse de que funciona según lo previsto.