Empuje la cuenta completa de un servidor IMAP a otro servidor IMAP

5

Mi institución recientemente reorganizó nuestras cuentas de correo electrónico. Me veo obligado a cambiar el correo electrónico cuidadosamente elaborado durante años (= más caos que la fiesta de cumpleaños de un niño de 3 años) de IMAP account_old a IMAP account_new, que solo difiero en los nombres de los servidores.

Al ser IMAP, todo mi correo se almacena localmente además del servidor de correo, así que pensé que Thunderbird podría permitirme crear la cuenta IMAP_nuevo y luego insertar el contenido de mi ~/.thunderbirdperfil en el servidor IMAP cuenta_nuevo. Tenga en cuenta también que el IMAP account_old ahora está fuera de línea.

Mi búsqueda en Google no ha devuelto nada sobre este enfoque y, en cambio, los usuarios parecen tener que copiar laboriosamente el correo (haciendo clic derecho en la carpeta> Copiar a > pariente / thunderbird / ruta ), carpeta por carpeta, de una cuenta a otra. Estaba haciendo esto hasta que descubrí que, en algún momento, los archivos adjuntos dejaron de copiarse correctamente (pero lo fueron cuando comencé el proceso). Específicamente, el contenedor del archivo adjunto se copia, pero el contenido parece ausente ya que se devuelve un error * al intentar abrirlo. El mismo problema se produce al mover Mover a elementos de correo individuales. En este momento me pregunto si DavMail (para la cuenta de Exchange que uso) está interfiriendo con la copia de archivos adjuntos utilizando este enfoque.

* Este archivo adjunto parece estar vacío. Por favor, consulte con la persona que envió esto. A menudo, los firewalls o programas antivirus de la empresa destruirán los archivos adjuntos.

No menos, me gustaría saber si no hay una forma más robusta y menos laboriosa de cargar todo el contenido local de una cuenta a un servidor IMAP, con una estructura de árbol completa y metadatos (fwd, respuesta, etiquetas, etc.) ? Estoy usando Thunderbird v17.0 en Ubuntu 12.04, 64 bits, DavMail 4.1.0.

EDITAR: veo que imapsync debería hacer el trabajo. ¿Algún comentario sobre este enfoque, es decir, los metadatos y los archivos adjuntos están fielmente sincronizados?

kbrand
fuente
1
¿Por qué no solo copia un archivo de los correos electrónicos, configura una nueva cuenta IMAP y luego transfiere los correos electrónicos a la nueva cuenta IMAP?
Ramhound
@Ramhound Archive? como en ThunderBird tiene algo así como 'exportar todo el correo con metadatos a archivefile.tar.gz'? No veo esta opción en TB, ¿o te refieres a otro programa / script?
kbrand
Configure una cuenta POP3 tradicional. Copie cada correo electrónico actualmente en la cuenta de Exchange / IMAP. Cree una nueva cuenta de Exchange / IMAP y luego vuelva a copiar los archivos.
Ramhound
@Ramhound Suena lógico. Mi vacilación con este enfoque es que "Copiar cada correo electrónico" suena bastante similar a "copiar laboriosamente el correo (haciendo clic con el botón derecho en la carpeta"> "copiar a"> relativo / thunderbird / ruta), carpeta por carpeta ". Ciertamente, puede ser una solución alternativa a este enfoque actualmente roto (al menos para copiar archivos adjuntos). Pero con más de 50,000 correos electrónicos distribuidos en docenas de carpetas, todavía espero un enfoque global más simple. ¿O no entiendo su sugerencia?
kbrand
Esto es exactamente lo que estaba tratando de sugerir. Esto es claramente una limitación de Thunderbird, ya que no copia sus archivos adjuntos correctamente, pensé que lo que quería era una solución alternativa.
Ramhound

Respuestas:

4

Una alternativa es usar mbsync del proyecto isync . Aquí hay un ejemplo de configuración para sincronizar el correo de un servidor IMAP directamente a otro:

# The IMAP server you wish to copy mails from.
IMAPAccount imap-src-account
Host imap.host.ac.uk
User student0192
# Pass "xxxxx" # if you don't mind storing it in the file; otherwise will prompt
UseIMAPS yes
CertificateFile /etc/ssl/certs/ca-certificates.crt

 # The IMAP server you wish to copy mails to.
IMAPAccount imap-dest-account
Host zimbra.corporate.com
User [email protected]
# Pass "xxxxx" # if you don't mind storing it in the file; otherwise will prompt
UseIMAPS yes
CertificateFile /etc/ssl/certs/ca-certificates.crt

 # Link IMAP server to remote used below
IMAPStore imap-src
Account imap-src-account

IMAPStore imap-dest
Account imap-dest-account

# ensures that dates of messages will be set correctly
CopyArrivalDate yes

Channel transfer
Master :imap-src:
Slave :imap-dest:
# Transfer all folders
Patterns *
Create Slave
Sync Pull
# important otherwise you will get 'Error: store ... does not support in-box sync state'
SyncState ~/.mail/imap-transfer

Luego puede ejecutar mbsync -l transferpara enumerar qué carpetas de correo se sincronizarán.

Para ejecutar realmente la transferencia, ejecute mbsync transfer. Lo bueno de esto es que puedes ejecutarlo periódicamente y hará una sincronización eficiente.

Notas adicionales:

  • contraseñas : también puede especificar a PassCmdpara usar un método diferente para obtener la contraseña (por ejemplo, desde un token ring ).
  • copias de seguridad : la mayoría de las instrucciones en línea para mbsync están usando esto para hacer una copia de seguridad en un sistema de archivos local. Incluso puede hacer una copia de seguridad en el sistema de archivos local y luego enviarlo al nuevo servidor, como se describe aquí , pero eso es más complicado de lo necesario si solo desea sincronizar los servidores
  • asignación de carpetas : si desea transferir carpetas a una subcarpeta en el sistema de destino (como lo hice), puede especificar esto diciendo Slave ":imap-dest:parent-folder/"en la Channelconfiguración.
David Fraser
fuente
Intenté esto Todas las carpetas se copian, pero INBOX no
Lenne
Es posible que deba ver la configuración y cómo se asignan sus carpetas ...
David Fraser
Mi bandeja de entrada está en la raíz de las carpetas, / var / vmail / dominio / usuario, no en ~ usuario / buzón o algo así. ¿Cómo mapeo eso, @ david.fraser?
Lenne
Parece que puede usar la Inboxconfiguración, consulte isync.sourceforge.net/mbsync.html
David Fraser
¿Alguien puede explicar esa configuración?
Lenne
1

Imapsync es una herramienta diseñada para hacer sincronizaciones imap, sincroniza:

  • toda la jerarquía de carpetas. La asignación de carpetas se puede cambiar.
  • Todos los mensajes, tal como están, los archivos adjuntos fielmente sincronizados. Es posible seleccionar mensajes por fecha / tamaño.
  • todas las banderas, al menos todas las habilitadas por el servidor de destino.

Imapsync permite sincronizaciones incrementales, las llamo una sincronización previa, para hacer una copia de seguridad o acelerar la sincronización final; estima la ETA en función de la tasa de transferencia de mensajes medida. El autor, el nombre de Gilles Lamiral, lo vende a 50 euros, pero está disponible de forma gratuita en github.

Gilles LAMIRAL
fuente
A menos que malinterprete Imapsync, el servidor con la cuenta IMAP de origen debe estar en línea, ¿verdad? Y en mi caso, como indiqué: "Tenga en cuenta también que la cuenta IMAP_old ahora está fuera de línea". Pero es bueno saber que todos los metadatos del correo se copian fielmente cuando se usan.
kbrand
Tienes razón, si el servidor imap está inactivo, imapsync ni ninguna cosa imap no puede hacer nada. Leí mal tu descripción completa.
Gilles LAMIRAL
0

TL; DR

Repara la carpeta. PD: la información no se pierde. Está allá.

Contexto

Tenía miedo de que me estuviera pasando. Encontré esta pregunta porque comencé a "copiar" mis correos electrónicos con clientes de mi agencia de viajes en una cuenta temporal para luego importarlos a una base de datos para su procesamiento automático en un CRM personalizado ... y perder archivos adjuntos de los clientes no era un problema. opción.

Estaba recibiendo el mensaje This attachment appears to be empty. Please check with the person who sent this. Often company firewalls or antivirus programs will destroy attachments.después de haber eliminado los mensajes originales y tenía mucho miedo de la situación.

Y tenía mucho, mucho miedo de perder los archivos adjuntos.

Entonces, lo primero que quería aclarar era:

PREGUNTA CRÍTICA: ¿Thunderbird pierde información al copiar los correos electrónicos? ¿O simplemente lo copia correctamente pero luego no puede leerlo?

  • Si Thunderbird perdió información, es un problema completo.
  • Si simplemente no puede leer, entonces no hay problema.

Lo que hice para resolver mi pregunta crítica

a) Primero busqué en el código fuente del mensaje. REALMENTE tenía "algo" de contenido. Límite, luego el archivo adjunto.

Código fuente del correo electrónico

Todavía no sabía si el contenido era correcto o corrupto.

b) Guardé el correo electrónico en el escritorio, hice doble clic en él y lo abrí con Thunderbird cargándolo desde el escritorio.

c) Luego hice clic derecho para guardar el archivo adjunto. Una vez que se guardó el archivo adjunto, lo abrí (era un archivo de Excel en este caso) y Excel lo abrió bien. Entonces, primera conclusión: la información dentro del archivo adjunto no se pierde

d) Luego abrí el archivo adjunto directamente abriéndolo desde la ventana de correo electrónico (de nuevo: no desde el IMAP, solo viendo en thunderbird el .emlarchivo en el escritorio) y se abrió correctamente. Entonces, segunda conclusión: la fuente del mensaje no está corrompiendo la información para hacer doble clic y abrir el archivo adjunto

Respuesta (que funcionó para mí)

Llegué a la conclusión de que la información no se había perdido (lo más probable es que el código fuente IMAP final sea byte por byte una copia del código fuente original) y luego necesariamente el problema es leer / interpretar el mensaje nuevamente.

Pero Thunderbird a veces necesita un poco de ayuda. "Almacena en caché" algunos datos para evitar conectarse al servidor IMAP cada vez, y por cualquier motivo IDK, de vez en cuando, esta información puede corromperse.

Hay una manera de resolver esto:

1) Haga clic derecho en su carpeta y seleccione "Propiedades" en la carpeta problemática.

Seleccionar propiedades

2) Seleccione "Reparar". Esto invalida los metadatos almacenados en caché sobre los mensajes allí contenidos y, por lo tanto, obliga a volver a descargar los archivos de código fuente que contienen los encabezados y el cuerpo de los mensajes, y reinterpretar el contenido en sí.

Reparar la carpeta

Funcionó para mi. Ahora selecciono el mismo mensaje, abro el archivo adjunto y ya no recibo el This attachment appears to be empty.mensaje.

Espero ayudar!

Xavi Montero
fuente