Akses dan Kelola Properti MAPI Outlook

MAPI properties adalah item metadata yang digunakan dalam pesan Microsoft Outlook, yang menentukan atribut seperti pengirim, penerima, subjek, lampiran, dan data khusus.

Aspose.Email for C++ memungkinkan pengembang mengakses, memodifikasi, dan menghapus properti ini secara programatis di MapiMessage objek, lampiran, dan properti bernama.

The MapiProperty kelas mewakili properti MAPI, yang berisi:

  • Name – Identifier string properti.
  • Tag – Identifier numerik yang digunakan untuk merujuk properti.
  • Data – Array byte yang mewakili nilai properti.

Baca Properti MAPI

Aspose.Email memungkinkan Anda membaca properti MAPI menggunakan tag properti.

Contoh kode berikut menunjukkan cara membaca dan menampilkan properti subjek dari file pesan MAPI (.msg).

  1. Dapatkan jalur direktori tempat file pesan Outlook disimpan.
  2. Muat file pesan Outlook ("message.msg") ke dalam sebuah MapiMessage objek.
  3. Akses koleksi properti MAPI dari pesan.
  4. Coba mengambil properti subjek menggunakan PR_SUBJECT (ANSI) tag.
  5. Jika properti subjek ANSI tidak ditemukan, coba untuk mengambil properti subjek Unicode menggunakan PR_SUBJECT_W.
  6. Jika properti subjek ada, keluarkan nilai stringnya ke konsol.

Atur Properti MAPI

Properti MAPI dapat disetel untuk pesan atau penerima untuk mendefinisikan atribut kustom, jenis email, atau status sinkronisasi.

Contoh kode berikut menunjukkan cara membuat pesan MAPI, menetapkan beberapa properti MAPI kustom termasuk detail pengirim dan penerima, flag pesan, dan waktu modifikasi, lalu menyimpan pesan ke file.

Catatan: Helper ConvertDateTime() mengonversi System::DateTime menjadi array byte filetime yang kompatibel dengan MAPI untuk properti tanggal/waktu dengan cara berikut:

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);

Membaca Properti MAPI Ber‑nama

Properti MAPI bernama adalah properti kustom yang ditambahkan oleh pengguna atau aplikasi.

Aspose.Email memungkinkan pembacaan properti ini dari pesan dan lampiran.

Membaca Properti MAPI Bernama dari File MSG

Contoh kode berikut memperlihatkan cara memuat file pesan MAPI, mengambil semua properti MAPI bernama, dan iterasi untuk menemukan serta menampilkan nilai properti bernama tertentu ("TEST" dan "MYPROP"). Ini memperlihatkan cara mengakses properti kustom atau ekstensi dalam pesan MAPI dengan menelusuri koleksi properti dan memproses properti berdasarkan identifier nama mereka.

Mengakses Properti MAPI Bernama dalam Lampiran

Properti MAPI bernama dalam lampiran dapat diambil dengan cara yang sama:

Menghapus Properti MAPI

Anda dapat menghapus baik properti MAPI standar maupun bernama dari pesan atau lampiran seperti yang ditunjukkan dalam contoh kode di bawah ini: