GUÍA DE MIGRACIÓN DE CORREO CON IMAPSYNC (DOCKER)
De OVH (Zimbra) a HestiaCP
Esta guía sirve para clonar buzones de correo grandes (de varios gigabytes) entre servidores utilizando IMAPsync a través de Docker, garantizando estabilidad y evitando problemas de versiones antiguas en sistemas operativos heredados.
FASE 1: Preparación del Servidor de Destino (HestiaCP)
Antes de lanzar la migración, la infraestructura de destino debe estar lista para recibir los datos.
-
Crear el buzón receptor: Entrar al panel de HestiaCP y crear la cuenta de correo exacta (ej.
info@dominio.es) con espacio en disco suficiente. -
Obtener las IPs y contraseñas:
-
IP del nuevo servidor HestiaCP.
-
Contraseña del buzón de origen (OVH) y del buzón de destino (HestiaCP).
-
FASE 2: Instalación de Docker (Si no está instalado)
Para evitar problemas con repositorios antiguos del sistema operativo (como Ubuntu Focal), se utiliza Docker para ejecutar la versión más reciente y estable de IMAPsync.
En la terminal de Linux (como usuario root o ubuntu), ejecutar:
Bash
sudo apt update
sudo apt install docker.io -y
FASE 3: Ejecución de la Migración con IMAPsync
Para evitar errores de rutas virtuales o lectura de archivos .txt dentro del contenedor de Docker, el método más rápido y efectivo es pasar las credenciales directamente en texto plano en la línea de comandos.
Comando Definitivo de Migración:
Copia este bloque, sustituye los datos entre comillas por los reales y ejecútalo en la consola (presionando Enter una sola vez):
Bash
docker run --rm gilleslamiral/imapsync:latest imapsync \
--host1 ssl0.ovh.net --user1 "[email protected]" --password1 "CONTRASEÑA_ORIGEN_OVH" \
--host2 "IP_NUEVO_SERVIDOR_HESTIA" --user2 "[email protected]" --password2 "CONTRASEÑA_DESTINO_HESTIA"
🛑 Reglas de Oro durante la transferencia:
-
No cierres la ventana de la terminal: Si cierras el programa SSH, el proceso se cancelará. El ordenador puede entrar en suspensión, pero la terminal debe permanecer abierta.
-
No hagas clics accidentales dentro de la consola: En muchos clientes SSH, hacer clic derecho o seleccionar texto puede pausar el flujo de datos («freeze visual»). Si esto ocurre, presiona Enter una sola vez en la terminal para reactivarlo.
-
Monitoreo seguro: Puedes entrar al Webmail del nuevo HestiaCP mientras se realiza la migración para ver en tiempo real cómo van apareciendo las carpetas y correos. No interfiere con el proceso.
FASE 4: Rescate de Contactos (Zimbra Moderno de OVH)
Dado que el Webmail de OVH suele tener capada la opción visual de exportar contactos, se utilizan las APIs de descarga directa del servidor a través del navegador web.
Pasos para descargar las agendas:
-
Iniciar sesión de forma normal en el Webmail de OVH en una pestaña del navegador.
-
En otra pestaña, pegar las siguientes URLs (cambiando el correo por el real) para forzar la descarga del archivo
.csv:
-
Para la Libreta de Contactos Principal:
Plaintext
https://zimbra1.mail.ovh.net/home/[email protected]/Contacts?fmt=csv
* **Para la Carpeta "Contactos Respondidos" (Emailed Contacts):**
*(Nota: Se usa `%20` para simular de forma segura el espacio en blanco en la URL).*
```text
https://zimbra1.mail.ovh.net/home/[email protected]/Contacts/Emailed%20Contacts?fmt=csv
-
Importación: Ir al Webmail del nuevo HestiaCP (Roundcube/SnappyMail), entrar a la sección de Contactos y darle a Importar subiendo estos archivos
.csv.
FASE 5: Cierre y Sincronización Final (DNS)
-
Cambio de DNS: Modificar los registros MX y registros A del dominio para que apunten a la IP del nuevo servidor HestiaCP.
-
Periodo de Propagación: Mantener el hosting antiguo (OVH) contratado y vivo durante las siguientes 24-48 horas. Esto actúa como un «colchón de seguridad» para capturar correos rezagados mientras internet se entera del cambio de servidor.
-
Segunda Pasada (Sincronización): Pasadas 24 horas, se puede volver a ejecutar exactamente el mismo comando de Docker de la Fase 3. IMAPsync es inteligente: no duplicará nada, solo detectará si entró algún correo nuevo en OVH durante el cambio de DNS y lo copiará al nuevo servidor en pocos segundos.
💡 Truco de Consola para el futuro: Si alguna vez necesitas limpiar la pantalla de errores o textos antiguos antes de pegar un comando limpio, escribe
cleary presiona Enter. Para pegar texto de forma segura en terminales Linux sin lanzar acciones extrañas, usa el atajoCtrl + Shift + V.
¡Ya la tienes lista para archivar! Con esta plantilla, las migraciones de tus próximos clientes van a salir rodadas desde el primer intento.



