Cómo configurar un servidor de correo en una Máquina Virtual

Para abrir el puerto 25 en tu Máquina Virtual (VM), ve a VPS Manager > elige la pestaña "Mail Bridge" > presiona el botón ‘Add Mail Bridge’.

Una vez que el registro PTR esté configurado y el puerto 25 esté habilitado, puedes configurar tu servidor SMTP preferido. A continuación se muestran ejemplos para Postfix, Exim y Sendmail. Usa la IP de la VM que se muestra en tu VPS Manager y asegúrate de que tu nombre de dominio para el registro PTR coincida con tu dominio de remitente (p. ej., mail.example.com).

Instalación y configuración de Postfix

# para Debian/Ubuntu

sudo apt update

sudo apt install postfix mailutils -y



# para Almalinux/Rocky/Cloudlinux/EL

# verificar distribuciones basadas en RPM para comprobar

# si Postfix está instalado

rpm -qa | grep postfix

# si no lo está, ejecuta el siguiente comando para instalar Postfix

sudo dnf install postfix



Cuando Postfix esté instalado, puedes iniciar el servicio y asegurarte de que se inicie después de reiniciar tu servidor:

sudo systemctl start postfix

sudo systemctl enable postfix

Luego, puedes configurar el servicio. Todas las opciones necesarias para el servicio se encuentran en el directorio /etc/postfix y el archivo principal de configuración es /etc/postfix/main.cf

Ejecuta el comandosudo nano /etc/postfix/main.cf para comenzar a editar el archivo principal de configuración y agregar o actualizar estas líneas:

inet_interfaces = all

# myhostname declara el nombre de host del servidor de correo

myhostname = mail.example.com

# mydomain declara el dominio que realmente maneja los correos electrónicos

domain = example.com

# mail_spool_directory declara el directorio donde se colocan los archivos del buzón

mail_spool_directory = /var/mail

myorigin = /etc/mailname

mydestination = $myhostname, localhost.$mydomain, localhost

relayhost =

inet_protocols = all

smtp_banner = $myhostname ESMTP



Reinicia Postfix para aplicar los cambios:

sudo systemctl restart postfix



Prueba el envío de correo:

echo "Test message" | mail -s "Test Email" user@recipient.com

Instalación y configuración de Exim 4

# para Ubuntu/Debian

sudo apt update

sudo apt install exim4 -y



El siguiente comando muestra una interfaz de usuario tipo asistente para configurar el software. Permite a los usuarios decidir si Exim necesita dividir su configuración en varios archivos o almacenarla en un solo archivo:

sudo dpkg-reconfigure exim4-config

Si se usa la primera opción, la configuración se almacenará en los subdirectorios /etc/exim4/conf.d. Si se elige un solo archivo de configuración, será /etc/exim4/exim4.conf

Cuando todas las configuraciones estén listas, ejecuta systemctl restart exim4para que los cambios surtan efecto.

Edita /etc/exim4/update-exim4.conf.conf para asegurarte de que:

# dc_local_interfaces declara la IP de tu servicio de correo (p. ej. 203.0.113.10)

dc_local_interfaces='203.0.113.10'

# dc_readhost declara el nombre de correo de tu sistema

dc_readhost='example.com'

# dc_other_hostnames declara el nombre de host del sistema

dc_other_hostnames='mail.example.com'



Reinicia Exim para aplicar los cambios:

sudo systemctl restart exim4


Prueba la entrega de correo electrónico ejecutando el siguiente comando:

echo "Mail test" | mail -s "Exim Test" user@recipient.com

Instalación y configuración de Sendmail

# para Ubuntu/Debian

sudo apt update

sudo apt install sendmail sendmail-bin -y

# para Almalinux/Cloudlinux/RHEL

yum install sendmail sendmail-cf mailutils


El archivo principal de configuración de Sendmail es /etc/mail/sendmail.cf. Evita editar este archivo directamente. Si necesitas editar la configuración, edita el archivo /etc/mail/sendmail.mc en su lugar, haz una copia de seguridad del archivo de configuración original y usa una de las siguientes alternativas para generar un nuevo archivo de configuración:

1) Usa el makefile incluido /etc/mail para crear una nueva configuración:

make all -C /etc/mail/

 

Todos los archivos generados en /etc/mail se volverán a generar si es necesario.

2) Como alternativa, puedes usar el procesador de macros m4 para crear un nuevo /etc/mail/sendmail.cf. El procesador de macros m4 no está instalado de forma predeterminada. Antes de usarlo para crear /etc/mail/sendmail.cf, instala el paquete m4 como root:

# para Almalinux/Cloudlinux/RHEL

yum install m4


# para Ubuntu/Debian

apt install m4


Los siguientes archivos de configuración de Sendmail se encuentran en el directorio /etc/mail/:

  • access- especifica qué sistemas pueden usar Sendmail para correo saliente

  • domaintable- mapeo de nombres de dominio

  • local-host-names - alias para el host del servidor

  • mailertable- instrucciones que anulan el enrutamiento para dominios específicos

  • virtusertable- especifica una forma de alias específica del dominio, lo que permite alojar múltiples dominios virtuales en la máquina.


A continuación, puedes ver ejemplos de cómo se pueden editar los archivos de configuración:

# editando los alias del host del servidor:

echo "mail.example.com" > /etc/mail/local-host-names


# vinculando a la IP de correo editando /etc/mail/sendmail.mc:
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Addr=203.0.113.10')dnl


# reconstruyendo la configuración:
sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf


# prueba:

echo "Hello from Sendmail" | mail -s "Sendmail test" user@recipient.com

Varios de los archivos de configuración mencionados anteriormente deben almacenar su información en archivos de base de datos antes de que cualquier cambio pueda surtir efecto. Para incluir cualquier cambio realizado en los archivos de configuración, ejecuta el comando makemap hash /etc/mail/<name> < /etc/mail/<name>como root. Aquí, <name> representa el nombre de la configuración que se actualizará.

Reinicia el proceso de Sendmail ejecutando el comando systemctl restart sendmail.

Se requiere un correo electrónico válido