El problema de fechas de CloudM Migrate del que nadie le advierte
CloudM Migrate termino el trabajo. El panel muestra 100 % completado, todos los usuarios migrados, cero errores. Se cierra el ticket del proyecto y se pasa al siguiente cliente.
Una semana despues, el director de TI llama. "?Por que cada email de mi bandeja muestra el 2 de abril?"
No algunos emails. Todos. Cinco anos de correspondencia con clientes, documentos legales, registros de RRHH, ordenes de compra de 2020, todos mostrando la fecha en que CloudM ejecuto la migracion. Los mensajes estan ahi, el contenido esta intacto, los adjuntos estan bien. Pero las fechas estan mal en cada uno.
Esto no es un bug de CloudM. La documentacion de soporte de CloudM lo reconoce abiertamente. El problema esta en la interseccion entre como las herramientas de migracion transfieren mensajes y como los servidores de correo destino manejan los metadatos de email entrante. Pero saber eso no ayuda a su cliente cuya bandeja de entrada se volvio imposible de ordenar cronologicamente.
Como CloudM transfiere los mensajes realmente
CloudM Migrate se conecta a las plataformas de origen y destino a traves de sus API. Para Google Workspace, eso significa una cuenta de servicio con delegacion a nivel de dominio (configurada en la Consola de Administracion de Google bajo Seguridad > Controles de API). Para Microsoft 365, utiliza Exchange Web Services o la API de Microsoft Graph, dependiendo de la ruta de migracion.
Cuando CloudM lee un mensaje del origen, obtiene el contenido completo RFC 2822, incluyendo todos los encabezados originales y el cuerpo del mensaje. El encabezado Date: original (el que el servidor del remitente estampo cuando el email se envio por primera vez) viene intacto. Lo mismo para todos los encabezados Received: originales que trazan la ruta de entrega del mensaje.
El problema ocurre en el destino. Cuando CloudM escribe ese mensaje en el buzon destino, el servidor de destino lo trata como una nueva entrega. Le estampa un encabezado Received: nuevo con la fecha y hora actuales, y establece el INTERNALDATE (la marca de tiempo que IMAP usa para ordenar) al momento de la insercion.
Asi se ve la cadena de encabezados despues de una migracion CloudM a Microsoft 365:
Received: from cloudm-migrate.processing.cloudm.io
by outlook.office365.com; Wed, 02 Apr 2026 08:14:52 +0000
Received: from mail.original-company.com
by smtp.original-company.com; Mon, 23 Sep 2019 14:07:11 +0200
El encabezado de 2019 sigue ahi. El encabezado Date: original todavia dice 23 de septiembre de 2019. Pero Outlook lee el encabezado Received: mas reciente para determinar el orden de visualizacion, y ese dice 2 de abril de 2026.
La opcion "Strip Received Headers" de CloudM
CloudM ofrece una configuracion para este problema. En los Ajustes Avanzados de la plataforma destino, bajo Message Options, hay un interruptor "Strip Received Headers". Cuando se activa, CloudM elimina los encabezados Received antes de insertar el mensaje y los reemplaza con un unico encabezado que coincide con el encabezado Date: del email.
Suena como si resolviera todo, ?verdad? No del todo.
Primero, hay que saber de esta opcion antes de ejecutar la migracion. La mayoria de los administradores descubren el problema de fechas despues de que la migracion esta completa. Para entonces, los mensajes ya estan en el destino con fechas incorrectas. Volver a ejecutar CloudM con la opcion activada solo crea duplicados, no corrige lo que ya esta ahi.
Segundo, esta configuracion tiene una limitacion fuerte cuando Google Workspace es el destino. La propia documentacion de Google lo confirma: Gmail siempre reescribe los encabezados Received: en mensajes insertados via API, estampandolos con la marca de tiempo de insercion. Esta es una restriccion a nivel de plataforma que CloudM no puede eludir. Incluso con "Strip Received Headers" activado, Google Workspace agrega su propio encabezado Received: con la fecha de migracion.
Para destinos Microsoft 365, la configuracion funciona mejor en teoria, pero el pipeline de transporte de M365 tiene su propio comportamiento. Exchange Online puede igualmente establecer el INTERNALDATE basandose en su propio procesamiento de entrega, dependiendo de como el mensaje entra al sistema.
?Cuales migraciones CloudM rompen las fechas (y cuales no)?
No toda migracion CloudM produce fechas incorrectas. El resultado depende de la combinacion origen-destino y la ruta API especifica que CloudM utiliza:
- Google Workspace a Microsoft 365: Las fechas se rompen. CloudM lee via la API de Gmail y escribe en Exchange. La capa de transporte de M365 estampa nuevos encabezados Received.
- Microsoft 365 a Google Workspace: Las fechas se rompen. Incluso con Strip Received Headers, la API de Google reescribe el encabezado Received con la fecha de insercion. La documentacion de soporte de CloudM lo llama una "limitacion estricta de la plataforma".
- Google Workspace a Google Workspace: Las fechas se rompen. Cambios de dominio, consolidaciones de tenant, fusiones por adquisicion, el tenant Google destino siempre estampa la fecha de migracion en los mensajes entrantes.
- Exchange local a Microsoft 365: Generalmente se rompe por la ruta IMAP. Si CloudM usa EWS en ambos lados, la preservacion de fechas es mas confiable pero no esta garantizada.
- Origen IMAP (generico) a cualquier destino: Las fechas se rompen. Cuando CloudM se conecta a un servidor IMAP generico como origen, el destino igual agrega sus propios encabezados de entrega.
?La parte complicada? El panel de migracion de CloudM no senala nada de esto. La barra de progreso se llena, la columna de estado dice "Completed", los conteos de elementos coinciden. Desde la perspectiva de CloudM, la migracion fue exitosa. Y tecnicamente, lo fue. Los mensajes se transfirieron. Las fechas simplemente no sobrevivieron al viaje.
CloudM Managed vs. Self-Service: mismo problema de fechas
CloudM ofrece dos modelos de despliegue. La version SaaS (CloudM Migrate alojado) se ejecuta completamente en la infraestructura de CloudM. La version autoalojada permite desplegar servidores de migracion primarios y secundarios en su propia red, Google Cloud, Azure o AWS.
Algunos MSP suponen que la opcion autoalojada da mas control sobre el manejo de fechas ya que se administran directamente los servidores de migracion. No es asi. El problema de fechas ocurre en el servidor de destino, no en los nodos de procesamiento de CloudM. Ya sea que su granja de migracion corra en la nube de CloudM o en su propia VM de Azure, el servidor de correo destino igual estampa la fecha de migracion en cada mensaje que recibe.
CloudM tambien ofrece una "Serviced Migration" totalmente gestionada donde su equipo maneja el proyecto de principio a fin. Mismo resultado para las fechas. La ingenieria es identica, solo cambian las manos en el teclado. ?Alguna vez ha pagado por un servicio premium y recibido la misma limitacion que el nivel gratuito? Eso es exactamente lo que se siente.
La complicacion de los encabezados Date invalidos
Hay otro comportamiento especifico de CloudM que empeora las cosas. Cuando CloudM encuentra un email de origen con un encabezado Date: que no cumple con RFC 822 (zona horaria malformada, dia de la semana faltante, formato no estandar), modifica el encabezado para asegurar que el mensaje pueda ser migrado.
Esto significa que algunos emails pierden incluso su referencia de fecha original. El encabezado Date: modificado podria no coincidir en absoluto con la fecha real de envio. La documentacion de soporte de CloudM menciona este comportamiento bajo "Possible Changes to Migrated Items" pero no especifica en que se convierte la fecha modificada.
Para un buzon con 12.000 mensajes acumulados durante ocho anos, podria haber cientos de emails con encabezados Date ligeramente no estandar (especialmente mensajes de servidores de correo antiguos, sistemas automatizados o remitentes internacionales con particularidades en el formato de zona horaria). Tras la modificacion de CloudM mas la reescritura del encabezado Received por el servidor destino, estos mensajes terminan con fechas que no guardan ninguna relacion con la realidad.
Por que las correcciones manuales no escalan despues de CloudM
?Se podria corregir esto manualmente? Tecnicamente, el encabezado Date: original sigue incrustado en la mayoria de los mensajes (excepto los que CloudM modifico por cumplimiento RFC). Algunos administradores han intentado escribir scripts para corregir fechas despues de una migracion CloudM.
La realidad de ese enfoque: hablamos de conectarse a potencialmente miles de buzones, cada uno con miles de mensajes. Para cada email, se necesita parsear la cadena completa de encabezados, identificar cuales encabezados Received: agrego CloudM o el servidor destino, manejar los casos limite (mensajes firmados con S/MIME donde la modificacion de encabezados rompe la firma, contenido cifrado con PGP, estructuras MIME multiparte con limites anidados, encabezados no-ASCII codificados con RFC 2047 de remitentes japoneses o coreanos), y hacer todo esto sin perder un solo adjunto ni romper el hilo de las conversaciones.
Un script que funciona con 50 emails de prueba de un buzon limpio no sobrevivira al contacto con un entorno de produccion de 40.000 mensajes a lo largo de una decada. ?Que pasa cuando se encuentra un email de 47 MB con seis adjuntos anidados? ?Y los limites de tasa de las API (250 unidades de cuota por usuario por segundo en Google, la limitacion de Microsoft a unas 10.000 solicitudes por 10 minutos)? ?Cual es el plan de rollback cuando algo sale mal en el mensaje numero 8.347?
Y la pregunta real que la mayoria de los administradores no hacen hasta que es demasiado tarde: ?como se verifica que cada mensaje corregido esta realmente intacto?
Corregir fechas de migracion CloudM con Redate.io
Redate.io se conecta directamente a los buzones afectados (Google Workspace, Microsoft 365 o IMAP) y escanea en busca de emails que lleven la firma de fecha de migracion de CloudM. El escaneo es gratuito y tarda un par de minutos por buzon, mostrando el conteo exacto de mensajes afectados antes de cualquier compromiso.
La correccion utiliza un motor propietario de analisis de cadenas de encabezados que identifica patrones de migracion especificos de CloudM a traves de la cadena Received. Redate.io realiza una correccion dirigida de metadatos sin alterar el contenido del mensaje, preservando adjuntos, hilos de conversacion, etiquetas, carpetas y firmas digitales. Cada mensaje corregido pasa por verificacion individual, comprobando la integridad del mensaje contra el original antes de que el proceso avance.
Los emails originales se conservan en una carpeta de respaldo visible Redate.io - Originals durante 30 dias. Si algo necesita revertirse, los originales estan ahi mismo en el buzon, no enterrados en algun archivo externo.
Para MSP que usaron CloudM en entornos de clientes, Redate.io maneja correcciones de multiples buzones a escala, con la misma verificacion por mensaje ya sea que se corrija 1 buzon o 500. El problema de fechas que CloudM dejo atras no tiene por que convertirse en una caracteristica permanente del entorno de correo de su cliente.
Guias de correccion por plataforma para migraciones CloudM
El proceso de correccion se adapta a la plataforma destino. Redate.io maneja las especificidades de cada plataforma automaticamente, pero para detalles sobre su configuracion:
- Corregir fechas de migracion CloudM en Gmail
- Corregir fechas de migracion CloudM en Outlook
- Corregir fechas de migracion CloudM en Google Workspace
- Corregir fechas de migracion CloudM en Microsoft 365
Para una explicacion detallada de por que esto ocurre con todas las herramientas de migracion (no solo CloudM), consulte por que los emails muestran fechas incorrectas despues de la migracion.
?Migro con CloudM y tiene fechas incorrectas en cada email? Ejecute un escaneo gratuito para ver exactamente cuantos mensajes estan afectados y cuanto cuesta corregirlos.