Tutorial

Stalwart Mail Server: SMTP, IMAP y JMAP en un único binario Rust

Correo profesional8 min de lectura6 pasos

Stalwart Mail Server es un servidor de correo AGPL-3.0 escrito en Rust que combina SMTP, IMAP, JMAP, ManageSieve y una interfaz WebAdmin en un único binario. Desde noviembre de 2025, Gmail rechaza estrictamente los correos que no cumplen con SPF/DKIM/DMARC — y Microsoft Outlook desde mayo de 2025. En un VPS dedicado con una IP propia y los puertos 25, 465, 587 y 993 abiertos, Stalwart cubre todos estos requisitos de forma nativa.

Contenido· Por qué un servidor de correo en VPS en 20261/10
  1. 01Por qué un servidor de correo en VPS en 2026
  2. 02Lo que aporta Stalwart frente a una stack clásica
  3. 03Requisitos previos antes de empezar
  4. 04Lista de requisitos previos
  5. 05Instalación de Stalwart en un VPS
  6. 06Despliegue paso a paso
  7. 07Reputación de IP: el factor más ignorado
  8. 08Stalwart vs Mailcow: dos enfoques del servidor de correo self-hosted
  9. 09Errores comunes que hay que evitar
  10. 10Actualizaciones y mantenimiento

Por qué un servidor de correo en VPS en 2026

Los grandes proveedores de correo — Gmail y Outlook a la cabeza — han endurecido sus reglas de autenticación. Gmail activó el rechazo estricto de remitentes no conformes en noviembre de 2025; Microsoft Outlook siguió en mayo de 2025 para volúmenes superiores a 5.000 mensajes diarios. Un correo enviado sin SPF, DKIM y DMARC correctamente configurados acaba hoy en spam o rebota.

Para agencias y desarrolladores que gestionan múltiples dominios de clientes, un servidor de correo self-hosted en VPS ofrece una ventaja concreta: infraestructura centralizada, reputación de IP controlada y control total sobre los registros DNS de autenticación. El coste de una reputación de IP deteriorada — semanas de calentamiento, o incluso una lista negra — justifica invertir en una configuración rigurosa desde el primer envío.

Lo que aporta Stalwart frente a una stack clásica

  • Binario único: SMTP, IMAP4, POP3, JMAP, ManageSieve y WebAdmin en un solo proceso — sin Docker Compose de múltiples contenedores que orquestar.
  • Escrito en Rust: seguridad de memoria por diseño, bajo consumo de RAM, arranque rápido.
  • SPF, DKIM y DMARC integrados: verificación entrante y firma saliente configurables desde la interfaz WebAdmin, sin plugins de terceros.
  • JMAP: protocolo moderno que reduce la latencia del cliente frente a IMAP solo — soportado de forma nativa por Stalwart.
  • AGPL-3.0: código auditable, sin dependencia de un servicio cloud propietario.
  • WebAdmin integrada: gestión de dominios, cuentas, reglas de filtrado e informes DMARC desde el navegador.

Requisitos previos antes de empezar

Stalwart funciona en cualquier VPS Linux de 64 bits. Para un uso en producción estable, planificar al menos 2 vCPU y 2 GB de RAM — el binario en sí es ligero, pero la gestión de colas SMTP y la indexación IMAP consumen memoria bajo carga.

Dos puntos bloqueantes a verificar antes de la instalación:

El puerto 25 debe estar abierto hacia el exterior. Muchos proveedores de hosting bloquean este puerto en los planes VPS de entrada para limitar el spam. Verificar con el proveedor que el puerto 25 de salida esté desbloqueado — sin él, Stalwart puede recibir correo pero no puede enviarlo a otros servidores.

La IP del VPS debe tener un PTR (registro DNS inverso) correcto. Un PTR ausente o inconsistente es una de las principales causas de rechazo por parte de los grandes proveedores de correo. La mayoría de los proveedores VPS permiten definir este PTR desde su panel de control.

Lista de requisitos previos

  • VPS Linux de 64 bits (Debian 12 o Ubuntu 22.04 recomendados), mínimo 2 vCPU / 2 GB RAM.
  • IP dedicada — nunca una IP compartida para un servidor de correo en producción.
  • PTR DNS configurado en la IP del VPS: debe coincidir con el hostname del servidor de correo.
  • Puerto 25 de salida desbloqueado por el proveedor de hosting (verificar antes de contratar).
  • Puertos 465 (SMTPS), 587 (submission), 993 (IMAPS) y 143 (IMAP) abiertos en el cortafuegos.
  • Un nombre de dominio con acceso a la gestión de registros DNS (añadir registros TXT para SPF, DKIM, DMARC).
  • Un certificado TLS válido — Let's Encrypt mediante ACME es soportado de forma nativa por Stalwart.

Instalación de Stalwart en un VPS

Stalwart proporciona un script de instalación oficial que descarga el binario precompilado, crea un usuario de sistema dedicado, instala un servicio systemd y guía la configuración inicial en modo interactivo.

Despliegue paso a paso

  1. Descargar y ejecutar el script de instalación

    Conectarse al VPS como root o con sudo, y ejecutar el script oficial:

    curl -fsSL https://get.stalw.art/install.sh | sudo bash

    El script detecta la arquitectura, descarga el binario de la última versión estable (v0.16.19 en el momento de escribir este artículo), crea el usuario stalwart-mail, instala el binario en /usr/local/bin/stalwart-mail y genera la configuración inicial en /etc/stalwart/.

  2. Configurar el dominio y los parámetros SMTP

    El script lanza un asistente interactivo. Introducir el nombre de dominio principal (mail.tudominio.com), el dominio de envío y la ruta de almacenamiento de los buzones. La configuración se escribe en TOML en /etc/stalwart/config.toml.

    Para activar Let's Encrypt, asegurarse de que el puerto 443 sea accesible y que el registro DNS mail.tudominio.com apunte a la IP del VPS antes de ejecutar el script.

  3. Iniciar el servicio y verificar los logs

    sudo systemctl enable --now stalwart-mail
    sudo systemctl status stalwart-mail
    journalctl -u stalwart-mail -f

    El servicio escucha en los puertos configurados. Los logs indican si el certificado TLS se ha obtenido y si los sockets SMTP e IMAP están activos.

  4. Configurar SPF, DKIM y DMARC en DNS

    Iniciar sesión en la WebAdmin (puerto 8080 por defecto, a proteger detrás de un proxy inverso o por lista de IPs permitidas) y navegar a Gestión → Dominios.

    Stalwart genera la clave DKIM y muestra los registros DNS a añadir. Publicar en el gestor DNS:

    # SPF — autorizar al VPS a enviar por el dominio
    tudominio.com. TXT "v=spf1 mx a:mail.tudominio.com ~all"
    
    # DKIM — clave pública generada por Stalwart (valor mostrado en WebAdmin)
    default._domainkey.tudominio.com. TXT "v=DKIM1; k=rsa; p=<clave pública>"
    
    # DMARC — política de rechazo con dirección de informe
    _dmarc.tudominio.com. TXT "v=DMARC1; p=reject; rua=mailto:[email protected]"

    Comenzar con p=none (modo supervisión) durante 48 a 72 horas, analizar los informes agregados, luego pasar a p=quarantine y después a p=reject.

  5. Crear las primeras cuentas y probar el envío

    En la WebAdmin, crear un dominio y las cuentas de usuario asociadas. Probar el envío con swaks desde el VPS:

    swaks --to [email protected] --from [email protected] \
      --server mail.tudominio.com --port 587 \
      --auth LOGIN --auth-user [email protected]

    Verificar el mensaje recibido y la cabecera Authentication-Results — debe mostrar spf=pass, dkim=pass y dmarc=pass.

  6. Proteger la WebAdmin y endurecer el cortafuegos

    La WebAdmin no debe estar expuesta públicamente. Dos opciones: restringirla a una IP de gestión en la configuración de Stalwart, o ponerla detrás de un proxy inverso nginx con autenticación básica.

    En el cortafuegos, permitir solo los puertos estrictamente necesarios:

    # Ejemplo con ufw
    ufw allow 25/tcp    # SMTP entrante
    ufw allow 465/tcp   # SMTPS
    ufw allow 587/tcp   # Submission
    ufw allow 993/tcp   # IMAPS
    ufw allow 143/tcp   # IMAP (si es necesario)
    ufw deny 8080/tcp   # WebAdmin — acceso restringido, no público

    Consultar el artículo sobre hardening de VPS Linux para la configuración completa del cortafuegos y la gestión de claves SSH.

Reputación de IP: el factor más ignorado

Una instalación técnicamente perfecta no es suficiente si la IP del VPS ya figura en una base de datos de reputación negativa (Spamhaus, Barracuda, SORBS). Antes de pasar a producción, verificar la IP en MXToolbox Blacklists y en Spamhaus Checker. Si la IP está listada, abrir una solicitud de eliminación en cada base de datos — un proceso que puede llevar entre 24 horas y dos semanas. Solicitar una IP nueva al proveedor de hosting a veces es más rápido.

Stalwart vs Mailcow: dos enfoques del servidor de correo self-hosted

Desplace la tabla

CriterioStalwart Mail ServerMailcow
ArquitecturaBinario único Rust (un solo proceso)Stack Docker de múltiples contenedores (Postfix, Dovecot, Rspamd, SOGo...)
ProtocolosSMTP, IMAP4, POP3, JMAP, ManageSieve, CalDAV, CardDAVSMTP, IMAP4, POP3, ManageSieve, CalDAV, CardDAV
RAM mínima recomendada2 GB en producción4 a 6 GB recomendados (múltiples contenedores)
SPF/DKIM/DMARCIntegrados de forma nativa en el binarioVía Rspamd y OpenDKIM (configuración separada)
Interfaz de administraciónWebAdmin integrada (HTTP, REST API)SOGo + interfaz Mailcow dedicada
LicenciaAGPL-3.0MIT (pero dependencias con licencias variadas)
MadurezEstable, v0.16.x, pre-1.0Maduro, en producción desde 2016

Errores comunes que hay que evitar

PTR ausente o inconsistente. Es la causa más frecuente de rechazo silencioso por Gmail y Outlook. El PTR debe resolver al hostname utilizado en el SMTP EHLO, que a su vez debe coincidir con el dominio de envío. Verificar con dig -x <IP-del-VPS>.

Puerto 25 bloqueado por el proveedor de hosting. Algunos proveedores VPS bloquean el puerto 25 de salida por defecto para contener el spam. Stalwart puede recibir correo, pero el envío a servidores externos falla. La verificación previa evita descubrir este bloqueo tras la instalación.

Pasar demasiado rápido a p=reject en DMARC. Una política DMARC restrictiva aplicada sin un período de supervisión previo puede bloquear flujos legítimos (boletines, formularios de contacto) si SPF o DKIM no cubren todos los caminos de envío. Las primeras 48 a 72 horas en p=none con informes agregados son necesarias.

Descuidar el calentamiento de la IP. Una IP nueva que envía repentinamente cientos de mensajes al día es señalada como sospechosa por los filtros antispam. Aumentar el volumen progresivamente durante una o dos semanas, comenzando por los destinatarios más comprometidos.

Actualizaciones y mantenimiento

Stalwart publica actualizaciones periódicas en su repositorio de GitHub. La v0.16.19 (agosto de 2026) es la versión estable actual — el proyecto apunta a v1.0 tras finalizar el esquema de base de datos y las optimizaciones de rendimiento.

Para actualizar el binario:

sudo systemctl stop stalwart-mail
sudo curl -fsSL https://get.stalw.art/install.sh | sudo bash
sudo systemctl start stalwart-mail

Los archivos de configuración en /etc/stalwart/ y los datos en el directorio de almacenamiento no se sobreescriben con el script de actualización. Mantener una copia de seguridad de las claves DKIM antes de cualquier operación — perder la clave privada DKIM obliga a rotar el registro DNS y esperar un período de propagación.

Seguir las releases en github.com/stalwartlabs/stalwart/releases para estar informado de los parches de seguridad.

Desplegar tu infraestructura de correo en un VPS

Las agencias que gestionan múltiples clientes centralizan su infraestructura de correo en un VPS en lugar de multiplicar las cuentas de correo profesional. ServOrbit ofrece administración VPS para la instalación, configuración y mantenimiento de un servidor Stalwart en producción.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico. Soporte en francés, inglés y árabe.

Escribir por WhatsAppse abre en una pestaña nueva