Экспорт и импорт элементов с помощью EWS в ExchangeExporting and importing items by using EWS in Exchange

Сведения об экспорте и импорте встреч, сообщений электронной почты, контактов, задач и других элементов почтовых ящиков с помощью управляемого API EWS или EWS в Exchange.Learn about exporting and importing appointments, emails, contacts, tasks, and other mailbox items by using the EWS Managed API or EWS in Exchange.

Exchange — это золотой ряд важных сведений: Электронная почта, контакты, задачи и календари являются основными для функций Организации.Exchange is a gold mine of important information: email, contacts, tasks, and calendars are core to an organization's functions. EWS позволяет экспортировать и импортировать основные типы элементов с помощью трех различных подходов:EWS enables you to export and import core item types via three different approaches:

  • Типы элементов Exchange.Exchange item types. Этот подход рекомендуется для импорта и экспорта элементов в другие системы и файлы и из них.We recommend this approach for importing and exporting items to and from other systems and files.

  • Возможность уровня элемента (только для EWS).Item-level capability (EWS only). Этот параметр рекомендуется использовать для экспорта или копирования с одного сервера Exchange Server или почтового ящика и импорта в другой.We recommend this option for exporting or copying from one Exchange server or mailbox and importing to another.

  • Потоки MIME в виде распространенных стандартных форматов файлов, таких как iCalendar и vCard.MIME streams in the form of common standard file formats such as iCalendar and vCard. Так как набор свойств ограничен, а преобразование MIME является дорогостоящим, рекомендуем подход только для импорта или экспорта небольшого объема данных.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.

Важно!

Службы EWS не предназначены для резервного копирования и восстановления почтовых ящиков.EWS is not designed for mailbox backup and restore. Для резервного копирования и восстановления баз данных используйте API резервного копирования и восстановления.To back up and restore databases, use the backup and restore API. На сайте TechNet вы также можете ознакомиться с резервным копированием, восстановлением и аварийным восстановлением .See also Backup, restore, and disaster recovery on TechNet.

Таблица 1. Экспорт и импорт контактов, электронной почты и элементов календаряTable 1. Exporting and importing contact, email, and calendar items

ЗадачаTask Метод управляемого API EWSEWS Managed API method Операция служб EWSEWS operation ПримечанияNotes
Экспорт копии контакта, электронной почты, задачи или элемента календаря с указанным набором свойств.Export a copy of a contact, email, task, or calendar item with a specified property set.
Contact. BindContact.Bind
EmailMessage. BindEmailMessage.Bind
Встреча. BindAppointment.Bind
Task. BindTask.Bind
GetItemGetItem
Этот вариант рекомендуется при экспорте элементов почтового ящика в другую систему или файл, не относящиеся к Exchange (включая типы файлов vCard и iCal).We recommend this option if you're exporting mailbox items to another non-Exchange system or file (including vCard and iCal file types).
Так как у вас есть контроль над набором экспортированных свойств, а производительность сервера Exchange, как правило, является лучшим вариантом.Because you have control over the exported property set, and because performance is better for the Exchange server, this is generally the best option.

В зависимости от свойств, заданные для элемента почтового ящика, и от того, знает ли ваше приложение все несхематизированныеные идентификаторы свойств, которые могут быть заданы для элемента, этот параметр может не создавать полную копию.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.

Эти методы и операции предоставляют набор свойств схематизированные для элемента, а также все запрошенные расширенные свойства.These methods and operation provide the schematized set of properties for an item plus any requested extended properties.
Если вы знаете расширенные свойства, заданные для элемента, метод BIND или операция GetItem могут предоставлять полный экспорт элементов.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.
Вы можете запросить все известные Расширенные свойства , чтобы обеспечить полную точность.You can request all the known extended properties to enable full fidelity.

Совет: вы можете использовать функцию трассировки в УПРАВЛЯЕМОМ API EWS для получения XML-представления экспортируемых элементов.TIP: You can use the tracing feature in the EWS Managed API to get the XML representation of exported items. Дополнительную информацию можно узнать в статье экспорт элемента в настраиваемый формат.For more information, see Export an item into a custom format.
Импорт копии контакта, электронной почты, задачи или элемента календаря с указанным набором свойств.Import a copy of a contact, email, task, or calendar item with a specified property set.
Contact. SaveContact.Save
EmailMessage. SaveEmailMessage.Save
Встреча. сохранениеAppointment.Save
Task. SaveTask.Save
CreateItemCreateItem
Этот параметр рекомендуется использовать для импорта элементов почтовых ящиков в Exchange.We recommend this option for importing mailbox items into Exchange.
Для сохранения состояния импортированного элемента может потребоваться задать специальные свойства для некоторых типов элементов.You might have to set special properties on some item types in order to maintain the state of the imported item.
Так как некоторые свойства задаются только в Exchange, а не в клиентах, не всегда возможно иметь возможность полного импорта.Because some properties are only set by Exchange and not by clients, it's not always possible to have a full-fidelity import.

Например, вы не можете импортировать собрание с участниками в почтовый ящик, так как Exchange устанавливает отношения между организатором и участниками.For example, you cannot import a meeting with attendees into a mailbox because Exchange sets the relationships between the organizer and attendees.
Это отношение можно установить только с помощью отправки организаторов и участников, принимающих приглашения на собрание и отвечающих им.This relationship can only be established by organizers sending and attendees receiving and responding to the meeting request.

Объекты встреч в Exchange могут иметь сложные отношения и параметры.Appointment objects in Exchange can have complex relationships and settings.
Встречи, у которых есть участники (собрания), имеют параметры, связывающие организатора собрания и участников собрания.Appointments that have attendees (meetings) have settings that tie together the meeting organizer and meeting attendees.
Эти параметры не поддерживаются при экспорте и импорте встреч.These settings are not maintained when you export and import appointments.
Программное повторное создание связей организаторов и участников для собраний непосредственно для встреч не поддерживается.Programmatically reestablishing meeting organizer/attendee relationships directly on the appointments is not supported.
Вариант, который требуется для восстановления этих связей, состоит в выполнении после импорта после импорта, после чего Организатор повторно отправляет собрания и применяет их участникам.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.
Вы можете использовать олицетворение Exchange, чтобы совершать звонки как для организатора, так и для участников.You can use Exchange impersonation to make the calls for both the organizer and the attendees.
Перед импортом необходимо изменить свойство UID объекта встреча , чтобы избежать неправильной связи собраний с другими собраниями в почтовом ящике.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.
Экспорт копии контакта, электронной почты, задачи или элемента календаря в режиме полного воспроизведения.Export a copy of a contact, email, task, or calendar item in full-fidelity.
НеприменимоNot applicable
ExportItemsExportItems
Это лучший вариант экспорта элементов почтовых ящиков, которые нужно импортировать обратно в почтовый ящик Exchange.This is the best option for exporting mailbox items that you want to import back into an Exchange mailbox.
Кроме того, этот параметр можно использовать для копирования элементов между почтовыми ящиками.You can also use this option to copy items between mailboxes.

Операция ExportItems предоставляет непрозрачный поток, представляющий элемент, который можно использовать для перемещения данных между почтовыми ящиками.The ExportItems operation provides an opaque stream that represents the item that you can use to move information between mailboxes.
Вы можете использовать ExportItems с операцией GetItem , чтобы создать индекс для поиска элементов в другой системе.You can use ExportItems with the GetItem operation to make an index for finding the items in another system.
Невозможно изменить поток экспорта.You cannot change the export stream.
Дополнительную информацию можно узнать в статье Экспорт элементов с полнымсоответствием.For more information, see Export items with full fidelity.
Импорт копии контакта, электронной почты, задачи или элемента календаря в режиме высокой четкости.Import a copy of a contact, email, task, or calendar item in full-fidelity.
НеприменимоNot applicable
UploadItemsUploadItems
Это единственный вариант импорта элементов, экспортированных с помощью операции ExportItems .This is the only option for importing items that were exported by the ExportItems operation.
Экспорт копии контакта, электронной почты или элемента календаря в виде потока MIME для общего типа файлов.Export a copy of a contact, email, or calendar item as a MIME stream for a common file type.
Contact. BindContact.Bind
EmailMessage. BindEmailMessage.Bind
Встреча. BindAppointment.Bind
GetItemGetItem
Свойство сохранитьmimecontent можно использовать для получения представления потока MIME для элемента.You can use the MimeContent property to get the MIME stream representation of an item.

В этом случае будет предоставлено базовое подмножество всех свойств элемента.This will provide a basic subset of all the properties on an item.
Рекомендуется использовать только поток MIME для операций с одноразовым выходом.As a best practice, only use the MIME stream for one-off operations.
Не полагайтесь на MIME для крупного и частого импорта и экспорта элементов, так как Exchange выполняет преобразование контента для MIME, что может повлиять на производительность.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.

MIME-поток контакта — это файл vCard (VCF).The Contact MIME stream is a vCard (.vcf) file.
В зависимости от того, какие свойства настроены для контакта, это может не привести к созданию полной копии.Depending on the properties set on a contact, this might not produce a full-fidelity copy.
Обратите внимание, что вы не можете импортировать контакт с помощью потока MIME в vCard.Note that you cannot import a contact by using the vCard MIME stream.
Чтобы узнать больше, ознакомьтесь со статьей Экспорт контакта в файл vCard.To learn more, see Export a contact into a vCard file.

EmailMessage MIME — это EML-файл.The EmailMessage MIME stream is an .eml file.
Формат EML удобен, так как Outlook и другие почтовые клиенты могут определить его.The .eml format is convenient because Outlook and other email clients can identify it.
Вы также можете использовать MIME-поток для создания MHT-файла, который удобен, так как многие браузеры могут использовать этот тип файлов.You can also use the MIME stream to create an .mht file, which is convenient because many browsers can use that file type.
EWS не предоставляет поток файлов. MSG для экспорта электронной почты в MSG – файл.EWS doesn't provide a .msg file stream for exporting an email to a .msg file.
Ваши параметры для экспорта MSG — это Создание файла. MSG из результатов вызова метода EmailMessage. Bind или метода GetItem или с помощью СТОРОННЕГО API, который вызывает EWS и создает MSG-файл из результатов.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.
Дополнительную информацию можно узнать в статье Экспорт электронной почты в формате EML.For more information, see Export an email as an .eml file.

Поток MIME для встречи — это файл в формате iCal (ICS).The Appointment MIME stream is an iCal (.ics) file.
Формат. ICS удобен, так как Outlook и другие почтовые клиенты могут определить его.The .ics format is convenient because Outlook and other email clients can identify it.
Это не является допустимым вариантом экспорта собраний, так как сведения об участниках не предоставляются в потоке MIME.This is not a viable option for exporting meetings because attendee information is not provided in the MIME stream.
Вложения и другие свойства могут не включаться в поток MIME.Attachments and other properties might not be included in the MIME stream.
Рассмотрите создание формата iCal на основе объекта встречи или XML-кода, возвращенного операцией GetItem .Consider constructing the iCal format from either the Appointment object or from the XML returned by the GetItem operation.
Таким образом, вы можете записать дополнительные свойства Exchange с расширенными свойствами ("X-") в файле iCal.This way, you can capture more of the Exchange properties with extended properties ("X-' properties) in the iCal file.
Вы также можете экспортировать встречу в XML-форме.You can also export an appointment in XML form.
Вызовите операцию GetItem и сохраните XML в вашей системе.Call the GetItem operation and save the XML in your system.
Вы также можете использовать функции трассировки в УПРАВЛЯЕМОМ API EWS, чтобы зафиксировать XML-файл для размещения в базе данных XML.You can also use the tracing functionality in the EWS Managed API to capture the XML to put in an XML database.
Дополнительные сведения приведены в статье Экспорт встречи в формате iCal.For more information, see Exporting an appointment as an iCal file.
Импортировать копию электронной почты или элемента календаря в виде потока MIME для общего типа файлов.Import a copy of an email or calendar item as a MIME stream for a common file type.
EmailMessage. SaveEmailMessage.Save
Встреча. сохранениеAppointment.Save
CreateItemCreateItem
Файл с расширением EML или ICS можно импортировать с помощью свойства сохранитьmimecontent объекта EmailMessage или встречи .You can import an .eml or .ics file by using the MimeContent property on an EmailMessage or Appointment object.
Если адрес электронной почты не является черновиком, необходимо задать расширенное свойство PidTagMessageFlags (0x0E07) .You will need to set the PidTagMessageFlags (0x0E07) extended property if the email is not a draft.

Этот способ нельзя использовать для импорта собраний.You cannot use this approach to import meetings.

Альтернативы экспорту и импорту элементов с помощью EWSAlternatives to exporting and importing items by using EWS

Другие параметры доступны для експоринг и импортирования элементов в почтовый ящик Exchange и из него.Other options are available for exporing and importing items to and from an Exchange mailbox. Ниже приведены некоторые соображения, которые следует учитывать при проектировании стратегии импорта и экспорта:The following are some ideas to consider when you design your import and export strategy:

В этой статьеIn this section

См. такжеSee also