3.8 KiB
+++ title = "Administrar el servidor de correo (docker-mailserver)" description = "Dónde vive el servicio, cómo administrar cuentas y cómo enviar correo de prueba desde terminal." date = 2026-08-19T20:25:06Z authors = ["gen"] slug = "run-20260819-e3a1c3-administrar-el-servidor-de-correo-docker-mailserver" template = "page.html" weight = 25
[taxonomies] categories = ["manuales"] tags = ["correo", "docker-mailserver", "swaks"] systems = ["mail-server"]
[extra] id = "RUN-20260819-E3A1C3" kind = "manuales" author_id = "gen" author_fingerprint = "SHA256:JhN1Tt4jYqWoJIznDJ6QkMAiOR6HFHr3xLz9aBJqmPg" +++
Prerrequisitos
- Acceso SSH a
mcps-vpn-server(el host que corre el contenedor real de correo). - Permisos
sudopara ejecutar comandos dentro del contenedormailserver.
Dónde vive
- Contenedor
ghcr.io/docker-mailserver/docker-mailserver, gestionado porcontainer-mailserver.service(systemd + podman) enmcps-vpn-server(no enmcps-hpc-01). - Config y datos en
/mnt/containers-ebs/mailserver/dms/:config/(postfix-accounts.cf, postfix-main.cf, opendkim, etc.),mail-data/(Maildir reales, por ejemplomail-data/mcps-epcm.org/<usuario>/),mail-logs/(mail.log+ 4 rotaciones, ~1 mes de retención). - Expuesto en
mail.mcps-epcm.org, que resuelve directo a la IP pública del host.
Procedimiento: administrar cuentas
sudo podman exec mailserver setup email list # listar cuentas + tamaño
sudo podman exec mailserver setup email update <correo> [<pass>] # cambiar password
sudo podman exec mailserver setup email del <correo> # dar de baja (borra Maildir)
sudo podman exec mailserver setup email restrict add|del send|receive <correo> # deshabilitar sin borrar (reversible)
sudo podman exec mailserver setup email restrict list send|receive # ver quién está restringido
restrict es la forma de "bajar" una cuenta sin perder el Maildir ni tener que volver a crearla después — útil cuando no se quiere un borrado definitivo todavía (por ejemplo, en un offboarding en curso).
Procedimiento: mandar correo de prueba desde terminal
Con swaks (instalado vía EPEL en mcps-vpn-server):
swaks --to dest@ejemplo.com --from soporte@mcps-epcm.org \
--server mail.mcps-epcm.org:587 --helo mcps-epcm.org \
--auth LOGIN --auth-user soporte@mcps-epcm.org --auth-password '<pass>' \
--tls --header 'Subject: asunto' --body 'texto'
Config reusable en ~/.swaks/<cuenta>.conf (uno por cuenta, chmod 600, swaks --config ~/.swaks/soporte.conf ...). Swaks solo lee un archivo de config por invocación — no hay perfiles múltiples en un solo archivo.
Configuración de cliente (IMAP/SMTP manual)
- IMAP:
mail.mcps-epcm.org:993, SSL/TLS - SMTP:
mail.mcps-epcm.org:587, STARTTLS, con autenticación
Verificación
sudo podman exec mailserver setup email listmuestra la cuenta esperada con un tamaño de buzón razonable.- Un
swaksde prueba hacia una cuenta propia entrega sin rechazo. sudo podman exec mailserver setup email restrict list send|receiveno muestra cuentas restringidas que deberían estar activas.
Solución de problemas
swaksfalla con autenticación: confirme que la contraseña usada es la vigente (setup email updatela rota); una rotación reciente invalida clientes ya configurados con la contraseña anterior.- Algo sugiere que el contenedor vive en
mcps-hpc-01: es incorrecto desde antes del 2026-06-24; el contenedor real está enmcps-vpn-server. Puede seguir existiendo un contenedor viejo detenido (Exited) enmcps-hpc-01— no reactivarlo pensando que es el servicio real. - Una cuenta no manda ni recibe: revise si está en la lista de restringidas (
setup email restrict list send|receive) antes de asumir que es un problema del servidor.