Migración IMAP · 5 min read · Sep 25, 2025

Cómo migrar buzones entre servidores IMAP con imapsync

Esta guía explica cómo puedes migrar buzones entre servidores IMAP con imapsync. imapsync es una herramienta de sincronización, copia o migración de IMAP. Se admite con éxito más de 32 diferentes software de servidor IMAP. Todas las banderas se preservan, no leído permanecerá no leído, leído permanecerá leído, eliminado permanecerá eliminado.

1 Nota Preliminar

Estoy usando aquí dos servidores Debian o Ubuntu (el procedimiento debería ser el mismo para otras distribuciones, solo la instalación de imapsync diferirá):

  • server1.example.com (fuente)
  • server2.example.com (destino)

Quiero migrar el buzón [email protected] (nombre de usuario: [email protected], contraseña: secreto) en server1.example.com al buzón [email protected] en server2.example.com (el nombre de usuario y la contraseña son los mismos que en server1.example.com).

2 Antes de Comenzar

Antes de comenzar, echemos un vistazo a ambos buzones para ver qué hay en ellos (puedes hacer esto con un cliente de correo electrónico como Outlook, Thunderbird, o un cliente de correo basado en la web como SquirrelMail - estoy usando SquirrelMail aquí).

server1.example.com:

Buzón antiguo

server2.example.com:

Buzón nuevo

Después de la migración, los dos mensajes en server1.example.com deberían estar disponibles en server2.example.com.

3 Instalación de imapsync

No importa si instalamos imapsync en server1.example.com o server2.example.com - incluso podemos instalarlo en un tercer servidor no involucrado.

aptitude install imapsync

Para aprender sobre su uso, echa un vistazo a

man imapsync

y

imapsync --help

4 Realizando la Migración

Tenemos que decirle a imapsync los nombres de usuario y contraseñas de las cuentas de correo que queremos migrar. Teóricamente, podemos usar los interruptores –password1 y –password2 para las contraseñas, pero esto es peligroso porque las contraseñas aparecerían en la salida de

ps aux

(Así que cualquier usuario que tenga permiso para ejecutar ese comando conocería las contraseñas.)

Por lo tanto, es mejor crear dos archivos ( /etc/secret1 y /etc/secret2 en este ejemplo) que contengan las contraseñas (en este ejemplo, es secreto para ambas cuentas de correo), hacer un chmod 600 en estos archivos y usar los interruptores –passfile1 y –passfile2.

echo "secreto" > /etc/secret1  
echo "secreto" > /etc/secret2  
chmod 600 /etc/secret1  
chmod 600 /etc/secret2

Ahora podemos hacer la migración con este simple comando:

imapsync --host1 server1.example.com --user1 [email protected] --passfile1 /etc/secret2 --host2 server2.example.com --user2 [email protected] --passfile2 /etc/secret2

Aquí hay una salida de ejemplo:

root@server1:~# imapsync --host1 server1.example.com --user1 [email protected] --passfile1 /etc/secret2  
 --host2 server2.example.com --user2 [email protected] --passfile2 /etc/secret2  
$RCSfile: imapsync,v $ $Revision: 1.252 $ $Date: 2008/05/08 02:30:17 $  
Aquí hay un [linux] sistema (Linux server1.example.com 2.6.28-11-server #42-Ubuntu SMP Fri Apr 17 02:45:36 UTC 2009 x86_64)  
con perl 5.10.0 y el módulo Mail::IMAPClient versión utilizada aquí es 2.2.9  
Línea de comando utilizada :  
/usr/bin/imapsync --host1 server1.example.com --user1 [email protected] --passfile1 /etc/secret2  
 --host2 server2.example.com --user2 [email protected] --passfile2 /etc/secret2  
Activado syncinternaldates, se establecerán las fechas internas en host2 igual que en host1.  
Zona Horaria :[CEST]  
Intentará usar autenticación CRAM-MD5 en host1  
Intentará usar autenticación CRAM-MD5 en host2  
Desde el servidor imap [server1.example.com] puerto [143] usuario [[email protected]]  
A   servidor imap [server2.example.com] puerto [143] usuario [[email protected]]  
Banner : * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA  
 IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP listo. Copyright 1998-2008 Double Precision, Inc.  Ver COPYING para información de distribución.  
El servidor host server1.example.com dice que no tiene NINGUNA CAPACIDAD para AUTHENTICATE CRAM-MD5  
Error de inicio de sesión : [server1.example.com] con usuario [[email protected]] auth [CRAM-MD5]: 3 NO Inicio de sesión fallido.  
   
Intentando mecanismo de autenticación LOGIN en [server1.example.com] con usuario [[email protected]]  
Inicio de sesión exitoso en [server1.example.com] con usuario [[email protected]] auth [CRAM-MD5]  
Banner : * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA  
 IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP listo. Copyright 1998-2008 Double Precision, Inc.  Ver COPYING para información de distribución.  
El servidor host server2.example.com dice que no tiene NINGUNA CAPACIDAD para AUTHENTICATE CRAM-MD5  
Error de inicio de sesión : [server2.example.com] con usuario [[email protected]] auth [CRAM-MD5]: 3 NO Inicio de sesión fallido.  
   
Intentando mecanismo de autenticación LOGIN en [server2.example.com] con usuario [[email protected]]  
Inicio de sesión exitoso en [server2.example.com] con usuario [[email protected]] auth [CRAM-MD5]  
Desde capacidad : QUOTA STARTTLS NAMESPACE IDLE THREAD=ORDEREDSUBJECT ACL SORT UIDPLUS CHILDREN ACL2=UNION IMAP4REV1 THREAD=REFERENCES  
A   capacidad : QUOTA STARTTLS NAMESPACE IDLE THREAD=ORDEREDSUBJECT ACL SORT UIDPLUS CHILDREN ACL2=UNION IMAP4REV1 THREAD=REFERENCES  
Desde estado Autenticado  
A   estado Autenticado  
Desde separador y prefijo : [.][INBOX.]  
A   separador y prefijo : [.][INBOX.]  
++++ Calculando tamaños ++++  
Desde Carpeta [INBOX]                             Tamaño:      2412 Mensajes:     2  
Desde Carpeta [INBOX.Drafts]                          Tamaño:         0 Mensajes:     0  
Desde Carpeta [INBOX.Sent]                            Tamaño:         0 Mensajes:     0  
Desde Carpeta [INBOX.Trash]                           Tamaño:         0 Mensajes:     0  
Tamaño total: 2412  
Total de mensajes: 2  
Tiempo : 11 s  
++++ Calculando tamaños ++++  
A   Carpeta [INBOX]                             Tamaño:     16844 Mensajes:     6  
A   Carpeta [INBOX.Drafts]                          Tamaño:         0 Mensajes:     0  
A   Carpeta [INBOX.Sent]                            Tamaño:         0 Mensajes:     0  
A   Carpeta [INBOX.Trash]                           Tamaño:         0 Mensajes:     0  
Tamaño total: 16844  
Total de mensajes: 6  
Tiempo : 0 s  
++++ Listando carpetas ++++  
Desde lista de carpetas : [INBOX] [INBOX.Drafts] [INBOX.Sent] [INBOX.Trash]  
A   lista de carpetas : [INBOX] [INBOX.Drafts] [INBOX.Sent] [INBOX.Trash]  
++++ Iterando sobre cada carpeta ++++  
Desde Carpeta [INBOX]  
A   Carpeta [INBOX]  
++++ Desde [INBOX] Parse 1 ++++  
++++ A   [INBOX] Parse 1 ++++  
++++ Verificando [INBOX] -> [INBOX] ++++  
+ NO msg #1 [FID6mR7SVC7csdmRce+7PQ:924] en INBOX  
+ Copiando msg #1:924 a carpeta INBOX  
banderas desde : [\Seen]["26-May-2009 22:00:59 +0200"]  
Copiado msg id [1] a carpeta INBOX msg id [7]  
+ NO msg #2 [4lu3SCjZGH2mRuiP1dY7Mw:1488] en INBOX  
+ Copiando msg #2:1488 a carpeta INBOX  
banderas desde : [()]["27-May-2009 14:12:59 +0200"]  
Copiado msg id [2] a carpeta INBOX msg id [8]  
Tiempo : 0 s  
Desde Carpeta [INBOX.Drafts]  
A   Carpeta [INBOX.Drafts]  
++++ Desde [INBOX.Drafts] Parse 1 ++++  
++++ A   [INBOX.Drafts] Parse 1 ++++  
++++ Verificando [INBOX.Drafts] -> [INBOX.Drafts] ++++  
Tiempo : 0 s  
Desde Carpeta [INBOX.Sent]  
A   Carpeta [INBOX.Sent]  
++++ Desde [INBOX.Sent] Parse 1 ++++  
++++ A   [INBOX.Sent] Parse 1 ++++  
++++ Verificando [INBOX.Sent] -> [INBOX.Sent] ++++  
Tiempo : 0 s  
Desde Carpeta [INBOX.Trash]  
A   Carpeta [INBOX.Trash]  
++++ Desde [INBOX.Trash] Parse 1 ++++  
++++ A   [INBOX.Trash] Parse 1 ++++  
++++ Verificando [INBOX.Trash] -> [INBOX.Trash] ++++  
Tiempo : 1 s  
++++ Estadísticas ++++  
Tiempo                       : 12 sec  
Mensajes transferidos       : 2  
Mensajes omitidos           : 0  
Total de bytes transferidos: 2412  
Total de bytes omitidos    : 0  
Total de bytes error       : 0  
Detectados 0 errores  
Por favor, califica imapsync en http://freshmeat.net/projects/imapsync/  
¿Contento con este software gratuito, de código abierto y gratis GPL?  
Siéntete libre de agradecer al autor dándole un libro:  
http://www.amazon.com/gp/registry/wishlist/1C9UNDIH3P7R7/  
(o su cuenta de paypal [email protected])  
root@server1:~#

Después podemos eliminar los dos archivos de contraseña:

rm -f /etc/secret1  
rm -f /etc/secret2

En el servidor de destino ( server2.example.com), cierra sesión de tu cuenta IMAP y vuelve a iniciar sesión (una simple actualización podría no ser suficiente), y deberías ver los mensajes de server1.example.com:

server2.example.com:

Nuevo buzón después de migrar los correos electrónicos con éxito

5 Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.