Exportar e importar elementos mediante EWS en Exchange

Obtenga información sobre cómo exportar e importar citas, correos electrónicos, contactos, tareas y otros elementos de buzón de correo mediante la API administrada de EWS o EWS en Exchange.

El intercambio es una mina de información importante: el correo electrónico, los contactos, las tareas y los calendarios son fundamentales para las funciones de una organización. EWS le permite exportar e importar tipos de elementos principales mediante tres enfoques diferentes:

  • Tipos de elementos de Exchange. Se recomienda este enfoque para importar y exportar elementos hacia y desde otros sistemas y archivos.

  • Funcionalidad de nivel de elemento (solo EWS). Se recomienda esta opción para exportar o copiar desde un servidor o buzón de Exchange e importar a otro.

  • Secuencias MIME en forma de formatos de archivo estándar comunes, como iCalendar y vCard. Dado que el conjunto de propiedades es limitado y la conversión MIME es costosa, se recomienda el enfoque solo para importar o exportar una pequeña cantidad de datos.

Importante

EWS no está diseñado para la copia de seguridad y restauración de buzones de correo. Para realizar copias de seguridad y restaurar bases de datos, use la API de copia de seguridad y restauración. Consulte también Copia de seguridad, restauración y recuperación ante desastres en TechNet.

Tabla 1. Exportación e importación de elementos de contacto, correo electrónico y calendario

Tarea Método de la API administrada de EWS Operación de EWS Notas
Exporte una copia de un elemento de contacto, correo electrónico, tarea o calendario con un conjunto de propiedades especificado.
Contact.Bind
EmailMessage.Bind
Appointment.Bind
Task.Bind
GetItem
Se recomienda esta opción si va a exportar elementos de buzón a otro sistema o archivo que no sea de Exchange (incluidos los tipos de archivo vCard e iCal).
Dado que tiene control sobre el conjunto de propiedades exportado y porque el rendimiento es mejor para el servidor exchange, esta suele ser la mejor opción.

En función de las propiedades establecidas en un elemento de buzón de correo y de si la aplicación conoce todos los identificadores de propiedad no esquematizados (propiedades extendidas) que se pueden establecer en un elemento, es posible que esta opción no genere una copia de fidelidad completa.

Estos métodos y operaciones proporcionan el conjunto esquematizado de propiedades para un elemento más las propiedades extendidas solicitadas.
El método Bind o la operación GetItem solo pueden proporcionar una exportación de fidelidad completa de elementos si conoce las propiedades extendidas que se establecen en un elemento.
Puede solicitar todas las propiedades extendidas conocidas para habilitar la fidelidad completa.

SUGERENCIA: Puede usar la característica de seguimiento en la API administrada de EWS para obtener la representación XML de los elementos exportados. Para obtener más información, vea Exportar un elemento a un formato personalizado.
Importe una copia de un elemento de contacto, correo electrónico, tarea o calendario con un conjunto de propiedades especificado.
Contact.Save
EmailMessage.Save
Appointment.Save
Task.Save
CreateItem
Se recomienda esta opción para importar elementos de buzón en Exchange.
Es posible que tenga que establecer propiedades especiales en algunos tipos de elementos para mantener el estado del elemento importado.
Dado que algunas propiedades solo las establece Exchange y no los clientes, no siempre es posible tener una importación de plena fidelidad.

Por ejemplo, no puede importar una reunión con asistentes a un buzón porque Exchange establece las relaciones entre el organizador y los asistentes.
Esta relación solo la pueden establecer los organizadores que envían y los asistentes que reciben y responden a la convocatoria de reunión.

Los objetos appointment en Exchange pueden tener relaciones y configuraciones complejas.
Las citas que tienen asistentes (reuniones) tienen configuraciones que unen al organizador de la reunión y a los asistentes a la reunión.
Esta configuración no se mantiene al exportar e importar citas.
No se admite el restablecimiento mediante programación de las relaciones entre organizadores y asistentes de reuniones directamente en las citas.
Una opción que tiene para restablecer esas relaciones es realizar el procesamiento posterior después de una importación y, a continuación, hacer que un organizador vuelva a enviar las reuniones y que los asistentes acepten las reuniones.
Puede usar la suplantación de Exchange para realizar las llamadas tanto para el organizador como para los asistentes.
Debe cambiar la propiedad UID del objeto Appointment antes de importar para evitar que las reuniones estén relacionadas incorrectamente con otras reuniones de un buzón.
Exporte una copia de un elemento de contacto, correo electrónico, tarea o calendario con plena fidelidad.
No aplicable
ExportItems
Esta es la mejor opción para exportar elementos de buzón de correo que desea importar de nuevo a un buzón de Exchange.
También puede usar esta opción para copiar elementos entre buzones de correo.

La operación ExportItems proporciona una secuencia opaca que representa el elemento que puede usar para mover información entre buzones.
Puede usar ExportItems con la operación GetItem para crear un índice para buscar los elementos en otro sistema.
No se puede cambiar el flujo de exportación.
Para obtener más información, consulte Exportación de elementos con fidelidad completa.
Importe una copia de un elemento de contacto, correo electrónico, tarea o calendario con plena fidelidad.
No aplicable
UploadItems
Esta es la única opción para importar elementos exportados por la operación ExportItems .
Exporte una copia de un elemento de contacto, correo electrónico o calendario como una secuencia MIME para un tipo de archivo común.
Contact.Bind
EmailMessage.Bind
Appointment.Bind
GetItem
Puede usar la propiedad MimeContent para obtener la representación de secuencia MIME de un elemento.

Esto proporcionará un subconjunto básico de todas las propiedades de un elemento.
Como procedimiento recomendado, use solo la secuencia MIME para las operaciones únicas.
No confíe en MIME para la importación o exportación frecuentes y grandes de elementos, ya que Exchange realiza la conversión de contenido para MIME y esto puede afectar al rendimiento.

El flujo MIME de contacto es un archivo vCard (.vcf).
En función de las propiedades establecidas en un contacto, es posible que no se produzca una copia de fidelidad completa.
Tenga en cuenta que no puede importar un contacto mediante el flujo MIME de vCard.
Para obtener más información, consulte Exportación de un contacto a un archivo vCard.

La secuencia MIME EmailMessage es un archivo .eml.
El formato .eml es conveniente porque Outlook y otros clientes de correo electrónico pueden identificarlo.
También puede usar la secuencia MIME para crear un archivo .mht, lo que resulta conveniente porque muchos exploradores pueden usar ese tipo de archivo.
EWS no proporciona una secuencia de archivos .msg para exportar un correo electrónico a un archivo .msg.
Las opciones para exportar un archivo .msg son construir un . Archivo MSG a partir de los resultados de un método EmailMessage.Bind o una llamada a la operación GetItem , o bien usa una API de terceros que llama a EWS y construye el archivo .msg a partir de los resultados.
Para obtener más información, vea Exportar un correo electrónico como un archivo .eml.

El flujo MIME de cita es un archivo iCal (.ics).
El formato .ics es conveniente porque Outlook y otros clientes de correo electrónico pueden identificarlo.
Esta no es una opción viable para exportar reuniones porque la información de los asistentes no se proporciona en el flujo MIME.
Es posible que los datos adjuntos y otras propiedades no se incluyan en la secuencia MIME.
Considere la posibilidad de construir el formato iCal desde el objeto Appointment o desde el XML devuelto por la operación GetItem .
De este modo, puede capturar más propiedades de Exchange con propiedades extendidas ("propiedades X") en el archivo iCal.
También puede exportar una cita en formato XML.
Llame a la operación GetItem y guarde el XML en el sistema.
También puede usar la funcionalidad de seguimiento en la API administrada de EWS para capturar el XML que se va a colocar en una base de datos XML.
Para obtener más información, consulte Exportación de una cita como un archivo iCal.
Importe una copia de un correo electrónico o un elemento de calendario como una secuencia MIME para un tipo de archivo común.
EmailMessage.Save
Appointment.Save
CreateItem
Puede importar un archivo .eml o .ics mediante la propiedad MimeContent en un objeto EmailMessage o Appointment .
Tendrá que establecer la propiedad extendida PidTagMessageFlags (0x0E07) si el correo electrónico no es un borrador.

No puede usar este enfoque para importar reuniones.

Alternativas a la exportación e importación de elementos mediante EWS

Hay otras opciones disponibles para exponer e importar elementos hacia y desde un buzón de Exchange. Las siguientes son algunas ideas que se deben tener en cuenta al diseñar la estrategia de importación y exportación:

En esta sección

Vea también