Доступ і керування властивостями Outlook MAPI
MAPI properties – це елементи метаданих, що використовуються в повідомленнях Microsoft Outlook, визначаючи такі атрибути, як відправник, одержувач, тема, вкладення та користувацькі дані.
Aspose.Email for C++ дозволяє розробникам програмно отримувати, змінювати та видаляти ці властивості у. MapiMessage об’єкти, вкладення та іменовані властивості.
The MapiProperty клас представляє властивість MAPI, яка містить:
- Name – Рядковий ідентифікатор властивості.
- Tag – Числовий ідентифікатор, що використовується для посилання на властивість.
- Data – Масив байтів, що представляє значення властивості.
Читати властивості MAPI
Aspose.Email дозволяє читати властивості MAPI, використовуючи теги властивостей.
Наступний приклад коду демонструє, як прочитати та відобразити властивість теми з файлу MAPI‑повідомлення (.msg).
- Отримайте шлях до каталогу, де зберігаються файли повідомлень Outlook.
- Завантажте файл повідомлення Outlook ("message.msg") у MapiMessage об’єкт.
- Отримайте колекцію властивостей MAPI з повідомлення.
- Спробуйте отримати властивість теми, використовуючи
PR_SUBJECT (ANSI)тег. - Якщо властивість теми у ANSI не знайдено, спробуйте отримати властивість теми у Unicode, використовуючи
PR_SUBJECT_W. - Якщо властивість теми існує, виведіть її рядкове значення в консоль.
Встановити властивості MAPI
MAPI‑властивості можна встановлювати для повідомлень або одержувачів, щоб визначити користувацькі атрибути, тип електронної пошти або статус синхронізації.
Наведений приклад коду демонструє, як створити MAPI‑повідомлення, задати кілька користувацьких MAPI‑властивостей, включаючи дані відправника та одержувача, прапорці повідомлення та час модифікації, а потім зберегти повідомлення у файл.
Примітка: Функція допоміжна ConvertDateTime() перетворює System::DateTime у масив байтів filetime, сумісний з MAPI, для властивостей дати/часу наступним чином:
int64_t filetime = t.ToFileTime();
System::ArrayPtr<uint8_t> d = System::MakeArray<uint8_t>(8, 0);
d[0] = (uint8_t)(filetime & 0xFF);
d[1] = (uint8_t)((filetime & 0xFF00) >> 8);
d[2] = (uint8_t)((filetime & 0xFF0000) >> 16);
d[3] = (uint8_t)((filetime & 0xFF000000) >> 24);
d[4] = (uint8_t)((filetime & 0xFF00000000) >> 32);
d[5] = (uint8_t)((filetime & 0xFF0000000000) >> 40);
d[6] = (uint8_t)((filetime & 0xFF000000000000) >> 48);
d[7] = (uint8_t)(((uint64_t)filetime & 0xFF00000000000000) >> 56);
Читання названих MAPI властивостей
Іменовані MAPI‑властивості – це користувацькі властивості, додані користувачами або застосунками.
Aspose.Email дозволяє зчитувати ці властивості з повідомлень та вкладень.
Читання іменованих MAPI‑властивостей з MSG‑файлів
Наведений приклад коду демонструє, як завантажити файл MAPI‑повідомлення, отримати всі його іменовані MAPI‑властивості та перебрати їх, щоб знайти і відобразити значення конкретних іменованих властивостей ("TEST" та "MYPROP"). Він показує, як отримати доступ до користувацьких або розширених властивостей у MAPI‑повідомленні, перебираючи колекцію властивостей і умовно обробляючи їх на підставі ідентифікаторів імен.
Доступ до іменованих MAPI‑властивостей у вкладеннях
Іменовані MAPI‑властивості у вкладеннях можна отримати подібним чином:
Видалення MAPI‑властивостей
Ви можете видалити як стандартні, так і іменовані MAPI‑властивості з повідомлень або вкладень, як показано у наведеному нижче прикладі коду: