Partager via


Exportation et importation d’éléments en utilisant EWS dans Exchange

Découvrez comment exporter et importer des rendez-vous, des e-mails, des contacts, des tâches et d’autres éléments de boîte aux lettres à l’aide de l’API managée EWS ou EWS dans Exchange.

Exchange est une mine d’informations importantes : les e-mails, les contacts, les tâches et les calendriers sont au cœur des fonctions d’une organisation. EWS vous permet d’exporter et d’importer des types d’éléments principaux via trois approches différentes :

  • Types d’éléments Exchange. Nous vous recommandons cette approche pour l’importation et l’exportation d’éléments vers et à partir d’autres systèmes et fichiers.

  • Fonctionnalité au niveau de l’élément (EWS uniquement). Nous vous recommandons cette option pour l’exportation ou la copie à partir d’un serveur ou d’une boîte aux lettres Exchange et l’importation vers un autre.

  • Flux MIME sous la forme de formats de fichiers standard courants tels que iCalendar et vCard. Étant donné que le jeu de propriétés est limité et que la conversion MIME est coûteuse, nous recommandons l’approche uniquement pour l’importation ou l’exportation d’une petite quantité de données.

Importante

EWS n’est pas conçu pour la sauvegarde et la restauration de boîtes aux lettres. Pour sauvegarder et restaurer des bases de données, utilisez l’API de sauvegarde et de restauration. Voir aussi Sauvegarde, restauration et récupération d’urgence sur TechNet.

Tableau 1. Exportation et importation d’éléments de contact, d’e-mail et de calendrier

Tâche Méthode d’API managée EWS Opération EWS Remarques
Exportez une copie d’un contact, d’un e-mail, d’une tâche ou d’un élément de calendrier avec un jeu de propriétés spécifié.
Contact.Bind
EmailMessage.Bind
Appointment.Bind
Task.Bind
GetItem
Nous vous recommandons cette option si vous exportez des éléments de boîte aux lettres vers un autre système ou fichier non Exchange (y compris les types de fichiers vCard et iCal).
Étant donné que vous contrôlez le jeu de propriétés exportées et que les performances sont meilleures pour le serveur Exchange, il s’agit généralement de la meilleure option.

Selon les propriétés définies sur un élément de boîte aux lettres et si votre application est au courant de tous les identificateurs de propriété non schématisés (propriétés étendues) qui peuvent être définis sur un élément, cette option peut ne pas produire de copie fidèle.

Ces méthodes et opérations fournissent le jeu schématisé de propriétés pour un élément, ainsi que toutes les propriétés étendues demandées.
La méthode Bind ou l’opération GetItem ne peut fournir une exportation de fidélité complète des éléments que si vous connaissez les propriétés étendues définies sur un élément.
Vous pouvez demander toutes les propriétés étendues connues pour activer la fidélité totale.

CONSEIL : vous pouvez utiliser la fonctionnalité de suivi dans l’API managée EWS pour obtenir la représentation XML des éléments exportés. Pour plus d’informations, consultez Exporter un élément dans un format personnalisé.
Importez une copie d’un contact, d’un e-mail, d’une tâche ou d’un élément de calendrier avec un jeu de propriétés spécifié.
Contact.Save
EmailMessage.Save
Appointment.Save
Task.Save
CreateItem
Nous vous recommandons cette option pour importer des éléments de boîte aux lettres dans Exchange.
Vous devrez peut-être définir des propriétés spéciales sur certains types d’éléments afin de conserver l’état de l’élément importé.
Étant donné que certaines propriétés sont définies uniquement par Exchange et non par les clients, il n’est pas toujours possible d’avoir une importation de fidélité totale.

Par exemple, vous ne pouvez pas importer une réunion avec des participants dans une boîte aux lettres, car Exchange définit les relations entre l’organisateur et les participants.
Cette relation ne peut être établie que par les organisateurs qui envoient et les participants qui reçoivent et répondent à la demande de réunion.

Les objets Appointment dans Exchange peuvent avoir des relations et des paramètres complexes.
Les rendez-vous qui ont des participants (réunions) ont des paramètres qui relient l’organisateur de la réunion et les participants à la réunion.
Ces paramètres ne sont pas conservés lorsque vous exportez et importez des rendez-vous.
Le rétablissement par programmation des relations entre l’organisateur et le participant de la réunion directement sur les rendez-vous n’est pas pris en charge.
Une option dont vous disposez pour rétablir ces relations consiste à effectuer un post-traitement après une importation, puis à demander à un organisateur de renvoyer les réunions et aux participants d’accepter les réunions.
Vous pouvez utiliser l’emprunt d’identité Exchange pour effectuer les appels pour l’organisateur et les participants.
Vous devez modifier la propriété UID de l’objet Appointment avant l’importation pour éviter que les réunions ne soient incorrectement liées à d’autres réunions dans une boîte aux lettres.
Exportez une copie d’un contact, d’un e-mail, d’une tâche ou d’un élément de calendrier en toute fidélité.
Non applicable
ExportItems
Il s’agit de la meilleure option pour exporter les éléments de boîte aux lettres que vous souhaitez réimporter dans une boîte aux lettres Exchange.
Vous pouvez également utiliser cette option pour copier des éléments entre des boîtes aux lettres.

L’opération ExportItems fournit un flux opaque qui représente l’élément que vous pouvez utiliser pour déplacer des informations entre les boîtes aux lettres.
Vous pouvez utiliser ExportItems avec l’opération GetItem pour créer un index permettant de rechercher les éléments dans un autre système.
Vous ne pouvez pas modifier le flux d’exportation.
Pour plus d’informations, consultez Exporter des éléments avec une fidélité totale.
Importez une copie d’un contact, d’un e-mail, d’une tâche ou d’un élément de calendrier en toute fidélité.
Non applicable
UploadItems
Il s’agit de la seule option permettant d’importer des éléments exportés par l’opération ExportItems .
Exportez une copie d’un contact, d’un e-mail ou d’un élément de calendrier en tant que flux MIME pour un type de fichier courant.
Contact.Bind
EmailMessage.Bind
Appointment.Bind
GetItem
Vous pouvez utiliser la propriété MimeContent pour obtenir la représentation de flux MIME d’un élément.

Cela fournit un sous-ensemble de base de toutes les propriétés d’un élément.
Il est recommandé d’utiliser uniquement le flux MIME pour les opérations ponctuelles.
Ne vous fiez pas à MIME pour l’importation/exportation d’éléments volumineux et fréquents, car Exchange effectue la conversion de contenu pour mime, ce qui peut affecter les performances.

Le flux MIME contact est un fichier vCard (.vcf).
Selon les propriétés définies sur un contact, cela peut ne pas produire de copie de fidélité totale.
Notez que vous ne pouvez pas importer un contact à l’aide du flux MIME vCard.
Pour plus d’informations, consultez Exporter un contact dans un fichier vCard.

Le flux MIME EmailMessage est un fichier .eml.
Le format .eml est pratique, car Outlook et d’autres clients de messagerie peuvent l’identifier.
Vous pouvez également utiliser le flux MIME pour créer un fichier .mht, ce qui est pratique, car de nombreux navigateurs peuvent utiliser ce type de fichier.
EWS ne fournit pas de flux de fichier .msg pour l’exportation d’un e-mail vers un fichier .msg.
Vos options d’exportation d’un fichier .msg sont de construire un . Fichier MSG à partir des résultats d’une méthode EmailMessage.Bind ou d’un appel d’opération GetItem , ou utiliser une API tierce qui appelle EWS et construit le fichier .msg à partir des résultats.
Pour plus d’informations, consultez Exporter un e-mail en tant que fichier .eml.

Le flux MIME Rendez-vous est un fichier iCal (.ics).
Le format .ics est pratique, car Outlook et d’autres clients de messagerie peuvent l’identifier.
Il ne s’agit pas d’une option viable pour l’exportation des réunions, car les informations sur les participants ne sont pas fournies dans le flux MIME.
Les pièces jointes et les autres propriétés peuvent ne pas être incluses dans le flux MIME.
Envisagez de construire le format iCal à partir de l’objet Appointment ou du code XML retourné par l’opération GetItem .
De cette façon, vous pouvez capturer davantage de propriétés Exchange avec des propriétés étendues (« propriétés X- ») dans le fichier iCal.
Vous pouvez également exporter un rendez-vous au format XML.
Appelez l’opération GetItem et enregistrez le code XML dans votre système.
Vous pouvez également utiliser la fonctionnalité de suivi dans l’API managée EWS pour capturer le code XML à placer dans une base de données XML.
Pour plus d’informations, consultez Exportation d’un rendez-vous en tant que fichier iCal.
Importez une copie d’un élément de courrier électronique ou de calendrier en tant que flux MIME pour un type de fichier courant.
EmailMessage.Save
Appointment.Save
CreateItem
Vous pouvez importer un fichier .eml ou .ics à l’aide de la propriété MimeContent sur un objet EmailMessage ou Appointment .
Vous devez définir la propriété étendue PidTagMessageFlags (0x0E07) si l’e-mail n’est pas un brouillon.

Vous ne pouvez pas utiliser cette approche pour importer des réunions.

Alternatives à l’exportation et à l’importation d’éléments à l’aide d’EWS

D’autres options sont disponibles pour l’exposition et l’importation d’éléments vers et à partir d’une boîte aux lettres Exchange. Voici quelques idées à prendre en compte lorsque vous concevez votre stratégie d’importation et d’exportation :

Dans cette section

Voir aussi