Kirim, Baca, dan Atur Pesan di Server Exchange

Ambil Informasi Kotak Surat Exchange dengan EWS

Aspose.Email memungkinkan Anda mengambil detail kotak surat dari Microsoft Exchange menggunakan IEWSClient kelas. Dengan memanggil GetMailboxInfo() metode, klien mengembalikan sebuah ExchangeMailboxInfo objek yang berisi URI folder berguna seperti Mailbox, Inbox, Drafts, dan Sent Items.

Untuk terhubung ke Server Exchange dengan Exchange Web Services (EWS), gunakan IEWSClient kelas. Kelas ini menggunakan EWS untuk terhubung dan mengelola item pada Server Exchange.

Potongan kode berikut menunjukkan cara mendapatkan informasi kotak surat menggunakan layanan web pertukaran.

Kirim Pesan Email melalui EWS

Anda dapat mengirim email melalui Exchange dengan memanggil IEWSClient->Send() metode. Ini mengambil sebuah MailMessage objek dan mengirimkannya langsung melalui server menggunakan EWS.

Contoh kode berikut menunjukkan cara mengirim pesan email HTML melalui Server Exchange menggunakan Exchange Web Services (EWS) dengan Aspose.Email for C++. Ini memperlihatkan proses lengkap membuat koneksi ke Exchange, membuat pesan email dengan pengirim, penerima, subjek, dan konten HTML, serta mengirim pesan menggunakan metode Send dari klien EWS.

Membaca Email dari Mailbox Pengguna Lain

Beberapa akun pada Exchange Server memiliki hak untuk mengakses beberapa mailbox, dan beberapa pengguna memiliki beberapa akun email pada Exchange Server yang sama. Dalam kedua kasus, pengguna dapat mengakses mailbox pengguna lain dengan Aspose.Email. API menyediakan mekanisme untuk mengakses folder dan email dari mailbox lain menggunakan  IEWSClient kelas. Fungsionalitas ini dapat dicapai menggunakan overload GetMailboxInfo() metode dan menyediakan alamat email pengguna sebagai parameter.

Potongan kode berikut menunjukkan cara membaca email menggunakan  IEWSClient kelas.

Daftar Pesan Menggunakan EWS

Aspose.Email untuk C++ memungkinkan Anda mengambil metadata pesan dari mailbox Exchange Server melalui IEWSClient. Menggunakan berbasis EWS ListMessages API, Anda dapat menampilkan daftar pesan dari folder mana pun, menelusuri metadata pesan, dan menerapkan pagination untuk mailbox besar.

Daftar Pesan dari Inbox

Gunakan ListMessages untuk mengambil informasi dasar pesan seperti subjek, pengirim, penerima, dan ID pesan dari Inbox atau folder mana pun.

Contoh kode berikut menunjukkan cara menampilkan daftar dan menampilkan informasi dasar untuk semua pesan di Exchange Server.

  1. Buat sebuah instance dari IEWSClient.
  2. Panggil ListMessages dengan URI folder target.
  3. Iterasi melalui ExchangeMessageInfoCollection.

Daftar Pesan dari Folder Mana Pun

ListMessages menerima URI folder yang valid apa pun, memungkinkan Anda menampilkan daftar item dari Deleted Items, Drafts, Sent Items, atau folder khusus. Gunakan IEWSClient->get_MailboxInfo->xxxFolderUri properti untuk mendapatkan URI folder yang berbeda.

Contoh kode berikut menunjukkan cara mengakses berbagai URI folder Exchange Server dan mengambil pesan dari folder yang ditentukan.

Paginasi dalam Daftar Pesan

Untuk mailbox besar, gunakan ListMessagesByPage untuk memuat pesan dalam blok lebih kecil.

Contoh kode berikut menunjukkan cara menerapkan pagination untuk mengambil sejumlah besar pesan dari inbox Exchange Server.

  1. Pertama, ia membuat beberapa pesan percobaan di server.
  2. Kemudian, menggunakan ListMessagesByPage metode untuk mengambil pesan dalam batch lebih kecil (5 pesan per halaman dalam kasus ini), mengiterasi melalui semua halaman hingga halaman terakhir tercapai.
  3. Akhirnya, kode memverifikasi bahwa semua pesan berhasil diambil dengan menghitung total item di semua halaman.

Dapatkan Informasi Tipe Pesan

Gunakan ExchangeMessageInfo->MessageInfoType untuk menentukan tipe pesan Exchange yang mendasari (mis., email, permintaan rapat, dll.).

Contoh kode berikut menunjukkan cara terhubung ke Exchange Server dan mengambil informasi tipe pesan dari folder Deleted Items.

Simpan Pesan Menggunakan Exchange Web Services (EWS)

Aspose.Email memungkinkan Anda mengambil pesan dari mailbox Exchange Server dan menyimpannya dalam berbagai format, seperti EML, aliran memori, dan MSG. Contoh di bawah ini menunjukkan cara mengambil informasi pesan dan menyimpan pesan menggunakan IEWSClient API.

Simpan Pesan sebagai File EML

Untuk menyimpan pesan mailbox sebagai file EML:

  1. Buat sebuah IEWSClient instance menggunakan kredensial yang valid.
  2. Panggil ListMessages() untuk mengambil sebuah ExchangeMessagesInfoCollection.
  3. Lakukan iterasi melalui koleksi untuk mengakses URI unik setiap pesan.
  4. Panggil SaveMessage() untuk menyimpan setiap pesan di disk dalam format EML.

Contoh kode berikut menunjukkan cara menyimpan pesan email dari inbox Exchange Server sebagai file EML terpisah secara lokal menggunakan Aspose.Email untuk C++.

Simpan Pesan ke Aliran Memori

Alih-alih menulis ke disk, Anda dapat menyimpan pesan ke aliran memori—berguna untuk menyimpan email dalam basis data atau memprosesnya di memori.

Contoh kode berikut menunjukkan cara menyimpan pesan email dari inbox Exchange Server ke dalam aliran memori.

Simpan Pesan dalam Format MSG

Untuk menyimpan pesan sebagai MSG:

  1. Ambil pesan menggunakan FetchMessage(), yang mengembalikan sebuah MailMessage.
  2. Panggil MailMessage::Save() dengan opsi penyimpanan MSG.

Contoh kode berikut menunjukkan cara mengambil dan menyimpan pesan email dari inbox Exchange Server sebagai file format Outlook MSG.

Ambil Detail Pesan berdasarkan URI Pesan

Ketika hanya URI unik pesan yang tersedia, Anda tetap dapat mengambil seluruh ExchangeMessageInfo objek. The IEWSClient::ListMessages() overload menerima daftar ID pesan (URI) dan mengembalikan sebuah ExchangeMessageInfoCollection. Gunakan fitur ini ketika Anda menyimpan atau menerima URI pesan secara eksternal dan perlu memuat metadata (subjek, pengirim, ukuran, dll.) tanpa mengambil pesan lengkap.

Contoh kode berikut menunjukkan cara membuat beberapa pesan email pada Exchange Server dan kemudian mengambil informasi pesan mereka menggunakan identifier unik.

Ambil Konten Pesan Lengkap

ListMessages() mengembalikan informasi rangkuman (subjek, pengirim, ID). Untuk memuat konten pesan lengkap — tubuh, header, lampiran — gunakan FetchMessage().

Contoh kode berikut menunjukkan cara mengambil pesan lengkap dari inbox Exchange Server dan mengekstrak informasi lampiran:

  1. Buat sebuah IEWSClient instance.
  2. Panggil ListMessages() untuk mendapatkan metadata pesan dasar.
  3. Ekstrak setiap UniqueUri pesan.
  4. Panggil FetchMessage() untuk mengambil detail pesan lengkap.

Ambil Ukuran Pesan (Tanpa Mengunduh Pesan Penuh)

Aspose.Email menyediakan informasi ukuran pesan tanpa mengambil seluruh email, melalui ExchangeMessageInfo::Size properti.

Ini berguna untuk:

  • statistik mailbox
  • perhitungan kuota
  • menyaring pesan besar sebelum mengunduh

Contoh kode berikut menunjukkan cara menampilkan daftar dan menampilkan metadata pesan termasuk ukuran dari inbox Exchange Server.

Unduh Email dari Folder Publik Exchange

Folder publik Exchange memungkinkan penyimpanan pesan bersama di antara pengguna.

Aspose.Email IEWSClient memungkinkan Anda melakukan operasi berikut dengan folder ini dan pesan yang disimpan di dalamnya:

  • Daftar folder publik
  • Jelajahi subfolder secara rekursif
  • Unduh pesan dan simpan (mis., sebagai file MSG)

Catatan: Microsoft Exchange Server 2007 atau lebih baru diperlukan, karena versi sebelumnya tidak mendukung EWS.

Contoh kode berikut menunjukkan cara mengunduh pesan dari semua folder publik dan subfoldernya pada Exchange Server secara rekursif, dan menyimpannya sebagai file Outlook MSG secara lokal.

Pindahkan Pesan Antara Folder Exchange

Anda dapat memindahkan pesan dari satu folder Exchange ke folder lain menggunakan IEWSClient::MoveItem metode. Diperlukan:

  • URI unik pesan yang akan dipindahkan.
  • URI unik folder tujuan.

Contoh kode berikut menunjukkan cara menyaring dan memindahkan email tertentu dari inbox Exchange Server ke folder lain berdasarkan kriteria konten.

  1. Terhubung ke Exchange Server menggunakan kredensial EWS.
  2. Dapatkan informasi mailbox (URI folder).
  3. Daftar semua pesan dari Inbox.
  4. Iterasi melalui setiap pesan.
  5. Periksa apakah subjek mengandung "process this message".
  6. Pindahkan pesan yang cocok ke folder Deleted Items.
  7. Keluarkan konfirmasi untuk setiap pesan yang dipindahkan.

Hapus Pesan dari Folder Exchange

Anda dapat menghapus email dari sebuah folder dengan bantuan IEWSClient->DeleteMessage metode. Metode ini mengambil URI unik pesan sebagai parameter.

Contoh kode berikut menunjukkan cara menyaring dan menghapus email tertentu dari inbox Exchange Server berdasarkan kriteria subjek.

  1. Iterasi melalui pesan Inbox.
  2. Proses pesan berdasarkan beberapa kriteria (dalam contoh ini, kami menemukan kata kunci dalam subjek pesan).
  3. Hapus pesan yang cocok.

Salin Pesan ke Folder Exchange Lain

Gunakan IEWSClient::CopyItem untuk menduplikasi pesan ke folder yang berbeda. Versi overload mengembalikan URI dari salinan yang baru dibuat.

Contoh kode berikut menunjukkan cara membuat pesan email pada Exchange Server dan menyalinnya ke folder lain.