Exportando e importando itens usando o EWS no ExchangeExporting and importing items by using EWS in Exchange

Saiba mais sobre como exportar e importar compromissos, emails, contatos, tarefas e outros itens de caixa de correio usando a API gerenciada do EWS ou o EWS no Exchange.Learn about exporting and importing appointments, emails, contacts, tasks, and other mailbox items by using the EWS Managed API or EWS in Exchange.

O Exchange é uma mina de ouro de informações importantes: email, contatos, tarefas e calendários são fundamentais para as funções de uma organização.Exchange is a gold mine of important information: email, contacts, tasks, and calendars are core to an organization's functions. O EWS permite que você exporte e importe os tipos de itens principais por meio de três abordagens diferentes:EWS enables you to export and import core item types via three different approaches:

  • Tipos de item do Exchange.Exchange item types. Recomendamos essa abordagem para importar e exportar itens de e para outros sistemas e arquivos.We recommend this approach for importing and exporting items to and from other systems and files.

  • Recurso de nível de item (somente EWS).Item-level capability (EWS only). Recomendamos esta opção para exportar ou copiar de um servidor do Exchange ou caixa de correio e importar para outro.We recommend this option for exporting or copying from one Exchange server or mailbox and importing to another.

  • Fluxos MIME na forma de formatos de arquivo padrão comuns, como iCalendar e vCard.MIME streams in the form of common standard file formats such as iCalendar and vCard. Como o conjunto de propriedades é limitado e a conversão MIME é dispendiosa, recomendamos a abordagem apenas para importar ou exportar uma pequena quantidade de dados.Because the property set is limited and MIME conversion is costly, we recommend the approach only for importing or exporting a small amount of data.

Importante

O EWS não foi projetado para backup e restauração de caixa de correio.EWS is not designed for mailbox backup and restore. Para fazer backup e restaurar bancos de dados, use a API de backup e restauração.To back up and restore databases, use the backup and restore API. Consulte também backup, restauração e recuperação de desastres no TechNet.See also Backup, restore, and disaster recovery on TechNet.

Tabela 1. Exportando e importando contatos, email e itens de calendárioTable 1. Exporting and importing contact, email, and calendar items

TarefaTask Método de API gerenciada do EWSEWS Managed API method Operação do EWSEWS operation ObservaçõesNotes
Exportar uma cópia de um contato, email, tarefa ou item de calendário com um conjunto de propriedades especificado.Export a copy of a contact, email, task, or calendar item with a specified property set.
Contato. bindContact.Bind
EmailMessage. bindEmailMessage.Bind
Compromisso. bindAppointment.Bind
Task. bindTask.Bind
GetItemGetItem
Recomendamos esta opção se você estiver exportando itens de caixa de correio para outro sistema ou arquivo que não seja do Exchange (incluindo os tipos de arquivo vCard e iCal).We recommend this option if you're exporting mailbox items to another non-Exchange system or file (including vCard and iCal file types).
Como você tem controle sobre o conjunto de propriedades exportadas e como o desempenho é melhor para o servidor do Exchange, essa é geralmente a melhor opção.Because you have control over the exported property set, and because performance is better for the Exchange server, this is generally the best option.

Dependendo das propriedades definidas em um item de caixa de correio e se o aplicativo está ciente de todos os identificadores de propriedade não esquematizado (propriedades estendidas) que podem ser definidos em um item, essa opção pode não produzir uma cópia de alta fidelidade.Depending on the properties set on a mailbox item, and whether your application is aware of all of the non-schematized property identifiers (extended properties) that might be set on an item, this option might not produce a full-fidelity copy.

Esses métodos e operação fornecem o conjunto esquematizado de propriedades para um item, além de todas as propriedades estendidas solicitadas.These methods and operation provide the schematized set of properties for an item plus any requested extended properties.
O método BIND ou a operação GetItem pode fornecer somente a exportação de itens de fidelidade total se você souber as propriedades estendidas que estão definidas em um item.The Bind method or GetItem operation can only provide full-fidelity export of items if you know the extended properties that are set on an item.
Você pode solicitar todas as Propriedades estendidas conhecidas para habilitar a fidelidade total.You can request all the known extended properties to enable full fidelity.

Dica: você pode usar o recurso de rastreamento na API gerenciada do EWS para obter a representação XML dos itens exportados.TIP: You can use the tracing feature in the EWS Managed API to get the XML representation of exported items. Para obter mais informações, consulte exportar um item para um formato personalizado.For more information, see Export an item into a custom format.
Importe uma cópia de um contato, email, tarefa ou item de calendário com um conjunto de propriedades especificado.Import a copy of a contact, email, task, or calendar item with a specified property set.
Contato. SaveContact.Save
EmailMessage. SaveEmailMessage.Save
Compromisso. SaveAppointment.Save
Task. SaveTask.Save
CreateItemCreateItem
Recomendamos esta opção para importar itens de caixa de correio para o Exchange.We recommend this option for importing mailbox items into Exchange.
Você pode precisar definir propriedades especiais em alguns tipos de item para manter o estado do item importado.You might have to set special properties on some item types in order to maintain the state of the imported item.
Como algumas propriedades são definidas pelo Exchange e não por clientes, nem sempre é possível ter uma importação de fidelidade total.Because some properties are only set by Exchange and not by clients, it's not always possible to have a full-fidelity import.

Por exemplo, não é possível importar uma reunião com participantes para uma caixa de correio, pois o Exchange define as relações entre o organizador e os participantes.For example, you cannot import a meeting with attendees into a mailbox because Exchange sets the relationships between the organizer and attendees.
Essa relação só pode ser estabelecida por organizadores que enviam e respondem a solicitação de reunião.This relationship can only be established by organizers sending and attendees receiving and responding to the meeting request.

Os objetos de compromisso no Exchange podem ter relacionamentos e configurações complexos.Appointment objects in Exchange can have complex relationships and settings.
Os compromissos com participantes (reuniões) têm configurações que unem o organizador da reunião e os participantes da reunião.Appointments that have attendees (meetings) have settings that tie together the meeting organizer and meeting attendees.
Essas configurações não são mantidas quando você exporta e importa compromissos.These settings are not maintained when you export and import appointments.
Não há suporte para restabelecer programaticamente relações de organizador/participantes da reunião diretamente nos compromissos.Programmatically reestablishing meeting organizer/attendee relationships directly on the appointments is not supported.
Uma opção que você precisa para restabelecer essas relações é executar o pós-processamento após uma importação e, em seguida, fazer o organizador reenviar as reuniões e fazer com que os participantes aceitem as reuniões.An option you do have for reestablishing those relationships is to perform post-processing after an import, then have an organizer resend the meetings and have the attendees accept the meetings.
Você pode usar a representação do Exchange para fazer as chamadas para o organizador e os participantes.You can use Exchange impersonation to make the calls for both the organizer and the attendees.
Você deve alterar a propriedade UID do objeto compromisso antes de importar para evitar que as reuniões estejam incorretamente relacionadas a outras reuniões em uma caixa de correio.You should change the UID property of the Appointment object before you import to avoid having meetings be incorrectly related to other meetings in a mailbox.
Exportar uma cópia de um contato, email, tarefa ou item de calendário em fidelidade total.Export a copy of a contact, email, task, or calendar item in full-fidelity.
Não aplicávelNot applicable
ExportItemsExportItems
Esta é a melhor opção para exportar itens de caixa de correio que você deseja importar de volta para uma caixa de correio do Exchange.This is the best option for exporting mailbox items that you want to import back into an Exchange mailbox.
Você também pode usar essa opção para copiar itens entre caixas de correio.You can also use this option to copy items between mailboxes.

A operação ExportItems fornece um fluxo opaco que representa o item que você pode usar para mover informações entre caixas de correio.The ExportItems operation provides an opaque stream that represents the item that you can use to move information between mailboxes.
Você pode usar o ExportItems com a operação GetItem para criar um índice para localizar os itens em outro sistema.You can use ExportItems with the GetItem operation to make an index for finding the items in another system.
Não é possível alterar o fluxo de exportação.You cannot change the export stream.
Para obter mais informações, consulte exportar itens com fidelidade total.For more information, see Export items with full fidelity.
Importe uma cópia de um contato, email, tarefa ou item de calendário em fidelidade total.Import a copy of a contact, email, task, or calendar item in full-fidelity.
Não aplicávelNot applicable
UploadItemsUploadItems
Essa é a única opção para importar itens que foram exportados pela operação ExportItems .This is the only option for importing items that were exported by the ExportItems operation.
Exportar uma cópia de um contato, email ou item de calendário como um fluxo MIME para um tipo de arquivo comum.Export a copy of a contact, email, or calendar item as a MIME stream for a common file type.
Contato. bindContact.Bind
EmailMessage. bindEmailMessage.Bind
Compromisso. bindAppointment.Bind
GetItemGetItem
Você pode usar a propriedade MimeContent para obter a representação de fluxo MIME de um item.You can use the MimeContent property to get the MIME stream representation of an item.

Isso fornecerá um subconjunto básico de todas as propriedades de um item.This will provide a basic subset of all the properties on an item.
Como prática recomendada, use apenas o fluxo MIME para operações individuais.As a best practice, only use the MIME stream for one-off operations.
Não confie em MIME para importação/exportação de itens grandes e freqüentes, porque o Exchange realiza a conversão de conteúdo para o MIME e isso pode afetar o desempenho.Do not rely on MIME for large and frequent importing/exporting of items, because Exchange performs content conversion for the MIME and this can affect performance.

O fluxo MIME do contato é um arquivo vCard (. vcf).The Contact MIME stream is a vCard (.vcf) file.
Dependendo das propriedades definidas em um contato, isso pode não produzir uma cópia de fidelidade total.Depending on the properties set on a contact, this might not produce a full-fidelity copy.
Observe que você não pode importar um contato usando o Stream MIME do vCard.Note that you cannot import a contact by using the vCard MIME stream.
Para saber mais, confira exportar um contato para um arquivo vCard.To learn more, see Export a contact into a vCard file.

O fluxo MIME EmailMessage é um arquivo. eml.The EmailMessage MIME stream is an .eml file.
O formato. eml é conveniente porque o Outlook e outros clientes de email podem identificá-lo.The .eml format is convenient because Outlook and other email clients can identify it.
Você também pode usar o fluxo MIME para criar um arquivo. mht, que é conveniente porque muitos navegadores podem usar esse tipo de arquivo.You can also use the MIME stream to create an .mht file, which is convenient because many browsers can use that file type.
O EWS não fornece um fluxo de arquivo. msg para exportar um email para um arquivo. msg.EWS doesn't provide a .msg file stream for exporting an email to a .msg file.
Suas opções para exportar um arquivo. msg são construir um. MSG a partir dos resultados de um método EmailMessage. bind ou de uma chamada de operação GetItem , ou use uma API de terceiros que chame EWS e construa o arquivo. msg dos resultados.Your options for exporting an .msg file are to either construct an .MSG file from the results of an EmailMessage.Bind method or GetItem operation call, or use a third-party API that calls EWS and constructs the .msg file from the results.
Para obter mais informações, consulte exportar um email como um arquivo. eml.For more information, see Export an email as an .eml file.

O fluxo MIME do compromisso é um arquivo iCal (. ICS).The Appointment MIME stream is an iCal (.ics) file.
O formato. ics é conveniente porque o Outlook e outros clientes de email podem identificá-lo.The .ics format is convenient because Outlook and other email clients can identify it.
Esta não é uma opção viável para exportar reuniões porque as informações do participante não são fornecidas no fluxo MIME.This is not a viable option for exporting meetings because attendee information is not provided in the MIME stream.
Anexos e outras propriedades podem não ser incluídos no fluxo MIME.Attachments and other properties might not be included in the MIME stream.
Considere construir o formato iCal a partir do objeto de compromisso ou do XML retornado pela operação GetItem .Consider constructing the iCal format from either the Appointment object or from the XML returned by the GetItem operation.
Dessa forma, você pode capturar mais das propriedades do Exchange com propriedades estendidas (Propriedades "X-") no arquivo iCal.This way, you can capture more of the Exchange properties with extended properties ("X-' properties) in the iCal file.
Você também pode exportar um compromisso no formulário XML.You can also export an appointment in XML form.
Chame a operação GetItem e salve o XML no sistema.Call the GetItem operation and save the XML in your system.
Você também pode usar a funcionalidade de rastreamento na API gerenciada do EWS para capturar o XML a ser colocado em um banco de dados XML.You can also use the tracing functionality in the EWS Managed API to capture the XML to put in an XML database.
Para obter mais informações, consulte exportando um compromisso como um arquivo iCal.For more information, see Exporting an appointment as an iCal file.
Importe uma cópia de um item de email ou de calendário como um fluxo MIME para um tipo de arquivo comum.Import a copy of an email or calendar item as a MIME stream for a common file type.
EmailMessage. SaveEmailMessage.Save
Compromisso. SaveAppointment.Save
CreateItemCreateItem
Você pode importar um arquivo. eml ou. ics usando a propriedade MimeContent em um objeto EmailMessage ou compromisso .You can import an .eml or .ics file by using the MimeContent property on an EmailMessage or Appointment object.
Será necessário definir a propriedade estendida PidTagMessageFlags (0x0E07) se o email não for um rascunho.You will need to set the PidTagMessageFlags (0x0E07) extended property if the email is not a draft.

Você não pode usar essa abordagem para importar reuniões.You cannot use this approach to import meetings.

Alternativas para exportar e importar itens usando o EWSAlternatives to exporting and importing items by using EWS

Outras opções estão disponíveis para o exporing e importando itens de e para uma caixa de correio do Exchange.Other options are available for exporing and importing items to and from an Exchange mailbox. Veja a seguir algumas ideias a serem consideradas ao criar a estratégia de importação e exportação:The following are some ideas to consider when you design your import and export strategy:

Nesta seçãoIn this section

Confira tambémSee also