#performance #exchange-server #mapi
#Производительность #exchange-сервер #mapi #outlook-redemption
Вопрос:
Я пытаюсь проиндексировать элементы внутри почтового ящика exchange итак: какой наиболее эффективный способ перебора всех папок и элементов в почтовом ящике exchange с использованием MAPI и / или объектов данных восстановления (RDO)?
Я знаю RDOFolder.GetAllChildFolders (и IMAPIContainer::GetHierarchyTable) могут предоставить мне все папки (вероятно, наиболее эффективным способом), но как насчет элементов внутри папок?
Ответ №1:
Что вы собираетесь делать с элементами? Если вы просто хотите прочитать некоторые свойства, таблицы MAPI (http://www.dimastr.com/redemption/mapitable.htm ) в Redemption (я его автор) — это правильный путь, и RDOFolder.Items.MAPITable.ExecSQL
, вероятно, проще всего получить данные. Если вам нужно извлечь большие строковые или двоичные свойства, вложения или изменить данные, у вас нет выбора, кроме как открывать каждый элемент отдельно.
Комментарии:
1. Я хочу прочитать следующие свойства PR_LONGTERM_ENTRYID_FROM_TABLE, PR_ENTRYID, PR_STORE_ENTRYID, PR_NORMALIZED_SUBJECT_W, PR_MESSAGE_SIZE, PR_LAST_MODIFICATION_TIME, PR_CREATION_TIME
2. Могу ли я сделать 1 RDOFolder. Товары. Сопоставляемый. ExecSQL должен выдавать мне все элементы в почтовом ящике?
3. Да, вы можете это сделать.