Instalación y configuración de un servidor de correos postfix

Índice

Para instalar un servidor de correos postfix en Debian se instala el paquete postfix.

sudo apt update
sudo apt install postfix

Durante la instalación hay que elegir el tipo de servidor, en este caso Internet Site para recibir y enviar correo directamente y el mailname, que debe coincidir con el dominio, en este caso, javi.gonzalonazareno.org.

Para comprobar el funcionamiento del servidor de correos se puede usar la herramienta mail que se instala con el paquete bsd-mailx para enviar un correo a otro usuario del servidor.

sudo apt install bsd-mailx

Con esta herramienta se puede enviar un correo a otro usuario.

mail profesor@localhost

El usuario profesor recibe el correo.

profesor@sanji:/home/usuario$ mail
Mail version 8.1.2 01/15/2001.  Type ? for help.
"/var/mail/profesor": 1 message 1 new
>N  1 usuario@javi.gonz  Mon Feb  3 08:40   17/660   Mail de prueba
& 
Message 1:
From usuario@javi.gonzalonazareno.org  Mon Feb  3 08:40:36 2025
X-Original-To: profesor
To: profesor@javi.gonzalonazareno.org, to@javi.gonzalonazareno.org
Subject: Mail de prueba
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Date: Mon,  3 Feb 2025 08:40:36 +0000 (UTC)
From: usuario <usuario@javi.gonzalonazareno.org>

Y en los logs se guarda la información del envío del correo.

usuario@sanji:~$ sudo tail /var/log/mail.log 
Feb  3 08:40:36 sanji postfix/cleanup[1530]: 7766560FA8: message-id=<20250203084036.7766560FA8@sanji.javi.gonzalonazareno.org>
Feb  3 08:40:36 sanji postfix/qmgr[1444]: 7766560FA8: from=<usuario@javi.gonzalonazareno.org>, size=487, nrcpt=2 (queue active)
Feb  3 08:40:36 sanji postfix/local[1532]: 7766560FA8: to=<profesor@javi.gonzalonazareno.org>, orig_to=<profesor>, relay=local, delay=0.06, delays=0.04/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to mailbox)
Feb  3 08:40:36 sanji postfix/cleanup[1530]: 85BC760FAB: message-id=<20250203084036.85BC760FAB@sanji.javi.gonzalonazareno.org>
Feb  3 08:40:36 sanji postfix/qmgr[1444]: 7766560FA8: removed
Feb  3 08:40:36 sanji postfix/local[1533]: 85BC760FAB: to=<usuario@javi.gonzalonazareno.org>, relay=local, delay=0.01, delays=0.01/0/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
Feb  3 08:40:36 sanji postfix/qmgr[1444]: 85BC760FAB: removed

Enviar correos desde el servidor a correos de Internet

Para poder enviar mensajes a correos de Internet, es necesario configurar el parámetro relayhost del fichero /etc/postfix/main.cf para que el servidor de correo reenvíe el mensaje al servidor de correos externo de la red.

relayhost = mail.gonzalonazareno.org

Con la herramienta mail se puede enviar un mensaje a un correo de Internet.

mail correo@javihuete.site
Subject: Mensaje de prueba
Esto es un mensaje de prueba enviado desde el servidor de correo electrónico instalado en Sanji
Cc: 

Recibir correos desde correos de Internet

Para poder recibir correos desde Internet hay que habilitar una regla de DNAT que redirija el tráfico de la máquina router al servidor de correos.

iptables -t nat -A PREROUTING -p tcp --dport 25 -i ens3 -j DNAT --to 192.168.0.3:25
iptables-save > /etc/iptables/rules.v4

Además, en la vista externa del DNS hay que añadir un registro MX.

@       IN      MX      10      luffy.javi.gonzalonazareno.org.

Como en esta red, además, hay otro servidor de correo externo, el dominio se debe añadir en el fichero de configuración de este servidor, bajo el parámetro relay_domains.

Tras seguir estos pasos, se pueden enviar correos electrónicos a direcciones de correo de Internet desde el servidor de correos local.

mail profesor@profesor.org
Subject: Ejercicio 4 - Taller 1       
Hola, José Domingo.
Te envío este correo como parte del ejercicio 4 del taller 1.
Un saludo.
Cc: 
comments powered by Disqus

Relacionados

Implantación de aplicaciones web Python en Docker

Para implantar una aplicación Python en Docker se genera un entorno LAMP usando varios contenedores a través de un fichero docker-compose como se muestra en este post

Leer

Creación y configuración de un sistema de ficheros en Debian 12

En este post se plantea un caso práctico en el que se emplean varios comandos para la configuración de sistemas de ficheros en Debian. En concreto, se trata de un ejemplo en el que se instala Debina 12 en una máquina con recursos limitados en VirtManager y, posteriormente, se amplía el espacio de almacenamiento añadiendo un nuevo disco duro y clonando el sistema en él.

Leer

Autentificación SSH con cifrado asimétrico usando GPG

Para que la conexión entre cliente y servidor por SSH sea más ágil y rápida, se usa un cifrado simétrico. Sin embargo, para que una conexión con cifrado simétrico sea segura es necesario que ambos interlocutores negocien una clave simétrica usando una conexión segura.

Leer