Экспорт и импорт элементов с помощью веб-служб Exchange в Exchange

Сведения об экспорте и импорте встреч, сообщений электронной почты, контактов, задач и других элементов почтовых ящиков с помощью управляемого API EWS или EWS в Exchange.

Обмен — это золотая шахта важной информации: электронная почта, контакты, задачи и календари являются основными для функций организации. EWS позволяет экспортировать и импортировать основные типы элементов с помощью трех различных подходов:

  • Типы элементов exchange. Мы рекомендуем этот подход для импорта и экспорта элементов в другие системы и файлы и из нее.

  • Возможности на уровне элементов (только EWS). Рекомендуется использовать этот параметр для экспорта или копирования с одного сервера Exchange Server или почтового ящика и импорта в другой.

  • Потоки MIME в виде стандартных форматов файлов, таких как iCalendar и vCard. Так как набор свойств ограничен, а преобразование MIME является дорогостоящим, мы рекомендуем использовать этот подход только для импорта или экспорта небольшого объема данных.

Важно!

EWS не предназначен для резервного копирования и восстановления почтовых ящиков. Для резервного копирования и восстановления баз данных используйте API резервного копирования и восстановления. См. также резервное копирование, восстановление и аварийное восстановление в TechNet.

Таблица 1. Экспорт и импорт контактов, электронной почты и элементов календаря

Задача Метод управляемого API EWS Операция служб EWS Примечания
Экспортируйте копию контакта, адреса электронной почты, задачи или элемента календаря с указанным набором свойств.
Contact.Bind
EmailMessage.Bind
Appointment.Bind
Task.Bind
GetItem
Рекомендуется использовать этот параметр, если вы экспортируете элементы почтового ящика в другую систему или файл, не относясь к Exchange (включая типы файлов vCard и iCal).
Так как у вас есть контроль над экспортируемым набором свойств и производительность сервера Exchange, это, как правило, лучший вариант.

В зависимости от свойств, заданных для элемента почтового ящика, и от того, известно ли приложению все не-схематизированные идентификаторы свойств (расширенные свойства), которые могут быть заданы для элемента, этот параметр может не создать копию с полной точностью.

Эти методы и операции предоставляют схематизированный набор свойств для элемента, а также все запрошенные расширенные свойства.
Метод Bind или операция GetItem могут обеспечить полный экспорт элементов только в том случае, если известны расширенные свойства, заданные для элемента.
Вы можете запросить все известные расширенные свойства , чтобы включить полную точность.

СОВЕТ. Вы можете использовать функцию трассировки в управляемом API EWS для получения XML-представления экспортированных элементов. Дополнительные сведения см. в статье Экспорт элемента в пользовательский формат.
Импортируйте копию контакта, адреса электронной почты, задачи или элемента календаря с указанным набором свойств.
Contact.Save
EmailMessage.Save
Appointment.Save
Task.Save
CreateItem
Этот параметр рекомендуется для импорта элементов почтового ящика в Exchange.
Для поддержания состояния импортируемого элемента может потребоваться задать специальные свойства для некоторых типов элементов.
Так как некоторые свойства задаются только Exchange, а не клиентами, невозможно выполнить полный импорт.

Например, нельзя импортировать собрание с участниками в почтовый ящик, так как Exchange задает отношения между организатором и участниками.
Эту связь могут установить только организаторы, отправляющие и участвующие в них, получающие приглашение на собрание и отвечающие на них.

Объекты встреч в Exchange могут иметь сложные отношения и параметры.
Встречи с участниками (собрания) имеют параметры, которые связывают организатора собрания и участников собрания.
Эти параметры не поддерживаются при экспорте и импорте встреч.
Программное восстановление связей организатора и участника собрания непосредственно на встречах не поддерживается.
Вы можете восстановить эти связи, чтобы выполнить постобработку после импорта, а затем повторно отправить собрания организатору, чтобы участники приняли собрания.
Вы можете использовать олицетворение Exchange для выполнения вызовов как для организатора, так и для участников.
Перед импортом следует изменить свойство UID объекта Appointment , чтобы избежать неправильной связи собраний с другими собраниями в почтовом ящике.
Экспортируйте копию контакта, адреса электронной почты, задачи или элемента календаря в полной точности.
Неприменимо
ExportItems
Это лучший вариант для экспорта элементов почтового ящика, которые необходимо импортировать обратно в почтовый ящик Exchange.
Этот параметр также можно использовать для копирования элементов между почтовыми ящиками.

Операция ExportItems предоставляет непрозрачный поток, представляющий элемент, который можно использовать для перемещения информации между почтовыми ящиками.
Вы можете использовать ExportItems с операцией GetItem , чтобы создать индекс для поиска элементов в другой системе.
Невозможно изменить поток экспорта.
Дополнительные сведения см. в статье Экспорт элементов с полной точностью.
Импортируйте копию контакта, адреса электронной почты, задачи или элемента календаря с полной точностью.
Неприменимо
UploadItems
Это единственный вариант для импорта элементов, экспортированных операцией ExportItems .
Экспортируйте копию контакта, сообщения электронной почты или элемента календаря в поток MIME для общего типа файлов.
Contact.Bind
EmailMessage.Bind
Appointment.Bind
GetItem
Свойство MimeContent можно использовать для получения представления потока MIME элемента.

Это обеспечит базовое подмножество всех свойств элемента.
Рекомендуется использовать поток MIME только для однократных операций.
Не полагайтесь на MIME для больших и частых импорта и экспорта элементов, так как Exchange выполняет преобразование содержимого для MIME, что может повлиять на производительность.

Поток CONTACT MIME — это vCard (VCF-файл).
В зависимости от свойств, заданных для контакта, это может не привести к полной копии.
Обратите внимание, что невозможно импортировать контакт с помощью потока MIME vCard.
Дополнительные сведения см. в статье Экспорт контакта в файл vCard.

Поток MIME EmailMessage представляет собой EML-файл.
Формат EML удобен, так как outlook и другие почтовые клиенты могут идентифицировать его.
Вы также можете использовать поток MIME для создания MHT-файла, что удобно, так как многие браузеры могут использовать этот тип файлов.
EWS не предоставляет msg-файловый поток для экспорта сообщения электронной почты в MSG-файл.
Вы можете экспортировать MSG-файл либо для создания . MSG-файл из результатов метода EmailMessage.Bind или вызова операции GetItem или используйте сторонний API, который вызывает EWS и создает MSG-файл из результатов.
Дополнительные сведения см. в разделе Экспорт сообщения электронной почты в виде EML-файла.

Поток MIME для встреч — это файл iCal (ICS).
Формат .ics удобен, так как outlook и другие почтовые клиенты могут идентифицировать его.
Этот вариант не подходит для экспорта собраний, так как сведения о участниках не предоставляются в потоке MIME.
Вложения и другие свойства могут не включаться в поток MIME.
Рассмотрите возможность создания формата iCal из объекта Appointment или XML-файла, возвращаемого операцией GetItem .
Таким образом, можно записать дополнительные свойства Exchange с расширенными свойствами ("свойства X-") в файле iCal.
Вы также можете экспортировать встречу в формате XML.
Вызовите операцию GetItem и сохраните XML-код в системе.
Вы также можете использовать функцию трассировки в управляемом API EWS для записи XML-кода для добавления в базу данных XML.
Дополнительные сведения см. в статье Экспорт встречи в виде файла iCal.
Импортируйте копию сообщения электронной почты или элемента календаря в виде потока MIME для общего типа файлов.
EmailMessage.Save
Appointment.Save
CreateItem
Eml- или ICS-файл можно импортировать с помощью свойства MimeContent в объекте EmailMessage или Appointment .
Если сообщение электронной почты не является черновиком, необходимо задать расширенное свойство PidTagMessageFlags (0x0E07 ).

Этот подход нельзя использовать для импорта собраний.

Альтернативы экспорту и импорту элементов с помощью EWS

Доступны другие параметры для предоставления и импорта элементов в почтовый ящик Exchange и из них. Ниже приведены некоторые идеи, которые следует учитывать при разработке стратегии импорта и экспорта.

В этом разделе:

См. также