En una instalación mínima de Debian, me encontré con que no hay soporte para el envío de correo:

root@linuxito:~# mail
-bash: mail: command not found

Esto significa que no se soporta el envío y recepción de ningún tipo de mensaje, ya sea externo o interno, incluyendo los mensajes automáticos generados por aplicaciones y tareas programadas (cron). Especialmente cuando ocurren errores al ejecutar cronjobs.

Este artículo explica cómo instalar y configurar exim4 para tener servicio de correo y configurar el servidor como sitio de Internet, lo que permite enviar correo electrónico hacia el exterior pero no recibir ni aceptar correo entrante.



Existen diferentes alternativas para el envío de correo, tales como Sendmail, Postfix, y otros. Sin embargo, la alternativa mas simple y eficiente para sistemas Debian es Exim. Por ende, el primer paso consiste en instalar el paquete "exim4":

root@linuxito:~# apt-get install exim4

Al finalizar la instalación, ya contamos con soporte para el envío y recepción de mensajes:

root@linuxito:~# mail
No mail for root

Ahora resta configurar el servidor de correo para que se comporte como "sitio de Internet". Esto significa que se desean enviar mensajes de correo electrónico hacia el exterior, pero no se desea recibir ningún mensaje de correo entrante desde el exterior, ni siquiera aceptar peticiones desde el exterior.

Por defecto el servidor está configurado para no enviar ni recibir correo desde/hacia el exterior (modo "local delivery only"). Se observa que el puerto 25 (SMTP) está abierto y aceptando peticiones sólo desde localhost:

root@linuxito:~# netstat -tulpn | grep exim
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      27841/exim4         
tcp6       0      0 ::1:25                  :::*                    LISTEN      27841/exim4

Para configurar el servidor de correo electrónico Exim, simplemente es necesario reconfigurar el paquete "exim4-config" utilizando la herramienta dpkg-reconfigure:


En la primera ventana de configuración, cambiar al modo "internet site":

Luego, especificar el nombre de dominio utilizado para calificar los mensajes:

A continuación, dejar las direcciones IP de la interfaz loopback para que sólo se acepte correo entrante local:

Si no se va a utilizar IPv6 es posible borrar la dirección IPv6 local ("::1").

Luego es posible configurar otros dominios para los cuales se acepte correo entrante. Dejar el nombre de host sin calificar del servidor como única opción:

En la configuración de dominios y direcciones IP para los cuales se hace relay (reenvío o forwarding de correo), dejar ambos campos en blanco (no se hace relay para ningún dominio o IP):

Para sitios de Internet, deshabilitar la opción de minimizar la cantidad de consultas DNS:

Utilizar el formato mbox en el directorio /var/mail para las casillas de correo locales:

Luego seleccionar no dividir la configuración en múltiples archivos:

Por último, indicar que el correo para "postmaster" y "root" sea enviado a la cuetna de root, ya que luego implementaremos una redirección hacia una cuenta de correo externa:

Para finalizar, implementar dicha redirección:

root@linuxito:~# nano /etc/aliases

Especificar una casilla de correo electrónico externa para la cuenta "root", para que todo el correo que llegue a dicho usuario sea reenviado a la misma:

root: billgates@microsoft.com

Por último, reiniciar el servidor de correo:

root@linuxito:~# service exim4 restart

Comprobar el funcionamiento de la redirección enviando un correo desde línea de comandos a sí mismo desde la cuenta root:

root@linuxito:~# mail root
Cc: 
Subject: Prueba
OLA KE ASE.

Desde el log de Exim (/var/log/exim4/mainlog) es posible verificar el funcionamiento y reenvío del correo a root:

root@linuxito:~# tail -n 3 /var/log/exim4/mainlog 
2019-12-06 14:04:35 1idEDj-0000DA-RW <= billgates@microsoft.com U=root P=local S=362
2019-12-06 14:04:36 1idEDj-0000DA-RW => billgates@microsoft.com <root@linuxito> R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [172.217.204.27] X=TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256 CV=yes DN="C=US,ST=California,L=Mountain View,O=Google LLC,CN=mx.google.com" K C="250 2.0.0 OK 8si2308708uam.191 - gsmtp"
2019-12-06 14:04:36 1idEDj-0000DA-RW Completed

En caso de tener problemas con el rechazo de correo por parte de Google sobre IPv6 será necesario deshabilitarlo en exim4, tal como explica el artículo Cómo deshabilitar IPv6 en Exim.

Referencias


Tal vez pueda interesarte


Compartí este artículo