Mailcow es una suite completa y fácil de usar para configurar y administrar un servidor de correo. Esta suite incluye todo lo necesario para el correo:
- ACME: Generación automática de certificados Let's Encrypt
- ClamAV: Escáner antivirus (opcional)
- Dovecot: Servidor IMAP/POP para la recuperación de correos electrónicos
- MariaDB: Base de datos para almacenar información de usuarios, etc.
- Memcached: Caché para el cliente de correo web SOGo
- Netfilter: Integración similar a Fail2ban de @mkuron
- Nginx: Servidor web para componentes de la pila
- Olefy: Análisis de documentos de Office en busca de virus, macros, etc.
- PHP: Lenguaje de programación de la mayoría de las aplicaciones web de Mailcow
- Postfix: MTA (Agente de Transferencia de Correo) para el tráfico de correo electrónico en Internet
- Redis: Almacenamiento para información de spam, claves DKIM, etc.
- Rspamd: Filtro de spam con aprendizaje automático de correos basura
- SOGo: Cliente de correo web integrado y interfaz Cal-/Carddav
- Solr: Búsqueda de texto completo para conexiones IMAP para buscar correos electrónicos rápidamente (Descontinuado) (Opcional)
- Unbound: Servidor DNS integrado para la verificación de DNSSEC, etc.
- Watchdog: Para la monitorización básica del estado de los contenedores dentro de Mailcow
A continuación, te mostraré los pasos necesarios para desplegar un servidor de correo utilizando Mailcow en un servidor con sistema operativo Ubuntu.
Prerequisitos
Para instalar MailCow es necesario tener un servidor con 6GB de RAM como mínimo y un vcore. Tiene soporte para la mayoría de distribuciones, en este tutorial utilizaremos Debian 12.
Registros DNS para el correo
Recuerda que debes de crear primero los registros para el correo para que funcione todo correctamente, los registros que deberás de crear son los siguientes:
dt --scan example.com
.mail.example.com. 300 IN A xx.xx.xx.xx
.autodiscover.example.com 300 IN CNAME mail.example.com
.autoconfig.example.com 300 IN CNAME mail.example.com
example.com. 300 IN IN MX 10 mail.example.com
example.com. 300 IN TXT "v=spf1 mx a ip4:xx.xx.xx.xx ~all"
dkim._domainkey. 300 IN TXT "v=DKIM1;k=rsa;t=s;s=email;p=..."example.com por el nombre de tu dominio y luego xx.xx.xx.xx por la IP de tu servidor de correo.Instalación de Docker
Para la instalación de MailCow es necesario instalar Docker en nuestro sistema operativo. Para instalar Docker, deberás de seguir este otro tutorial:

mailcow para ejecutar los contenedores de Docker.Instalación de MailCow
Utilizaremos el usuario que hemos creado y descargaremos el repositorio:
git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
Lo primero que haremos será generar la configuración, para ello ejecutaremos el script generate_config.sh de la siguiente forma:
./generate_config.shResultado del comando
Found Docker Compose Plugin (native).
Setting the DOCKER_COMPOSE_VERSION Variable to native
Notice: You´ll have to update this Compose Version via your Package Manager manually!
Press enter to confirm the detected value '[value]' where applicable or enter a custom value.
Mail server hostname (FQDN) - this is not your mail domain, but your mail servers hostname: mail.example.com
Timezone [Europe/Madrid]:
Which branch of mailcow do you want to use?
Available Branches:
- master branch (stable updates) | default, recommended [1]
- nightly branch (unstable updates, testing) | not-production ready [2]
Choose the Branch with it´s number [1/2] 1
Already on 'master'
Your branch is up to date with 'origin/master'.
Generating snake-oil certificate...
[...]
Copying snake-oil certificate...
Detecting if your IP is listed on Spamhaus Bad ASN List...
Check completed! Your IP is clean
Deberemos de poner el hostname de nuestro servidor y luego seleccionar la rama master ya que se trata de la versión estable del software.
Este script habrá generado un fichero llamado mailcow.conf donde podemos editarlo y hacer las modificaciones que creamos oportunas.
Así que lo primero que haremos será descargar los contenedores:
docker compose pull
Y finalmente los levantamos:

Acceder a la interfaz web
Ahora podemos acceder a la interfaz web para gestionar todo lo relativo a las cuentas de correo y configuración del servidor de correo.
Para ello deberemos de acceder desde la dirección https://mail.example.com y el acceso que deberemos de utilizar es usuario admin y la contraseña moohoo.

A partir de aquí ya deberías de poder añadir los dominios y configurar los buzones de correo para empezar a enviar e-mails.

Comentarios