Files
clusterlogs/content/manuales/2026-08-19-run-20260819-e3a1c3-administrar-el-servidor-de-correo-docker-mailserver.md
T

74 lines
3.8 KiB
Markdown

+++
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 `sudo` para ejecutar comandos dentro del contenedor `mailserver`.
## Dónde vive
- Contenedor `ghcr.io/docker-mailserver/docker-mailserver`, gestionado por `container-mailserver.service` (systemd + podman) en **`mcps-vpn-server`** (no en `mcps-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 ejemplo `mail-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
```bash
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`):
```bash
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 list` muestra la cuenta esperada con un tamaño de buzón razonable.
- Un `swaks` de prueba hacia una cuenta propia entrega sin rechazo.
- `sudo podman exec mailserver setup email restrict list send|receive` no muestra cuentas restringidas que deberían estar activas.
## Solución de problemas
- **`swaks` falla con autenticación**: confirme que la contraseña usada es la vigente (`setup email update` la 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á en `mcps-vpn-server`. Puede seguir existiendo un contenedor viejo detenido (`Exited`) en `mcps-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.