Baca File PST Outlook, Ambil Informasi Folder dan Subfolder
Aspose.Email untuk .NET menyediakan API untuk membaca file PST Microsoft Outlook. Anda dapat memuat file PST dari disk atau aliran ke dalam sebuah instance dari PersonalStorage kelas untuk mengakses informasi detail tentang isinya, seperti folder, subfolder, dan pesan. Selain itu, API menyediakan fungsi untuk menyertakan folder pencarian saat mengambil pesan dari folder PST.
Memuat File PST
File PST Outlook dapat dimuat dalam sebuah instance dari PersonalStorage kelas. Potongan kode berikut menunjukkan cara memuat file PST.
Menampilkan Informasi PST
Setelah memuat file PST, Anda dapat memperoleh informasi tentang nama tampilan file, folder root, subfolder, dan jumlah pesan. Potongan kode berikut menunjukkan cara menampilkan nama file PST, folder, dan jumlah pesan dalam folder:
Dapatkan Hanya Folder Buatan Pengguna
File PST/OST dapat berisi folder yang dibuat oleh pengguna, yaitu mengecualikan semua folder IPM standar. Aspose.Email menyediakan fungsi untuk mengakses hanya folder yang dibuat pengguna dengan menggunakan properti only_folders_created_by_user dari PersonalStorageQueryBuilder kelas. Anda dapat mengatur properti ini ke True untuk mendapatkan hanya folder yang dibuat pengguna. Potongan kode berikut menunjukkan cara menggunakan properti only_folders_created_by_user dalam proyek Anda:
import aspose.email as ae
pst = ae.storage.pst.PersonalStorage.from_file("my.pst")
query_builder = ae.storage.pst.PersonalStorageQueryBuilder()
query_builder.only_folders_created_by_user.equals(True)
folders = pst.root_folder.get_sub_folders(query_builder.get_query())
for folder in folders:
print(f"Folder: {folder.display_name}")
Mengidentifikasi Folder Pra-Definisi
Untuk mengetahui apakah sebuah folder dalam file PST adalah folder standar, gunakan metode get_predefined_type dari FolderInfo kelas. Folder standar (atau pra-definisi), berbeda dengan folder yang dibuat pengguna, adalah folder yang dibuat oleh Outlook ketika Anda menambahkan akun email seperti Kotak Masuk, Item Terkirim, Draf, Item Dihapus, Kalender, Tugas, Catatan, dll.
Contoh kode di bawah ini menunjukkan cara menggunakan metode ini dalam proyek. Jika diatur ke True, ia mengembalikan tipe pra-definisi untuk folder induk tingkat atas. Ini menentukan apakah folder saat ini merupakan subfolder dari folder pra-definisi. Jika diatur ke False, ia mengembalikan tipe pra-definisi untuk folder saat ini.
import aspose.email as ae
pst = ae.storage.pst.PersonalStorage.from_file("my.pst")
folders = pst.root_folder.get_sub_folders()
for folder in folders:
print(f"Folder: {folder.display_name}")
print(f"Is predefined: {folder.get_predefined_type(False) != ae.storage.pst.StandardIpmFolder.UNSPECIFIED}")
print("-----------------------------------")
Mengelola RSS Feeds di PersonalStorage
Aspose.Email menyediakan fungsi untuk mengambil referensi ke folder pra-definisi RSS Feeds, memungkinkan pengembang mengakses dan memanipulasi RSS feed yang disimpan dalam file PST Outlook secara programatis. Dengan memperoleh referensi ke "folder RSS Feeds," pengembang dapat bekerja dengan data RSS feed, yang mungkin mencakup berlangganan feed baru, memperbarui feed yang ada, atau mengekstrak informasi dari feed.
Nilai RssFeeds dalam StandardIpmFolder enum biasanya mewakili tipe folder pra-definisi yang khusus dirancang untuk menyimpan RSS feed dalam file PST Outlook. Dengan menggunakan nilai enum ini, pengembang dapat menargetkan dan berinteraksi dengan "folder RSS Feeds" secara programatis. Contoh kode berikut akan menunjukkan cara menerapkan fitur ini ke dalam proyek Anda:
import aspose.email as ae
pst = ae.storage.pst.PersonalStorage.from_file("my.pst")
rss_folder = pst.get_predefined_folder(ae.storage.pst.StandardIpmFolder.RSS_FEEDS)
Untuk menambahkan folder RSS Feeds, gunakan potongan kode berikut:
import aspose.email as ae
pst = ae.storage.pst.PersonalStorage.from_file("my.pst")
rss_folder = pst.create_predefined_folder("RSS Feeds", ae.storage.pst.StandardIpmFolder.RSS_FEEDS)
Mengurai Folder yang Dapat Dicari
Aspose.Email menyediakan sebuah FolderKind enumerasi untuk bekerja dengan berbagai jenis folder PST. Selain folder NORMAL, ia juga bekerja dengan folder SEARCH. Folder SEARCH adalah folder virtual yang menyediakan tampilan semua item email yang cocok dengan kriteria pencarian tertentu. Untuk mengurai folder SEARCH, gunakan potongan kode berikut:
import aspose.email as ae
pst = ae.storage.pst.PersonalStorage.from_file("my.pst")
folders = pst.root_folder.get_sub_folders(ae.storage.pst.FolderKind.SEARCH | ae.storage.pst.FolderKind.NORMAL)
# Browse through each folder to display folder name and number of messages
for folder in folders:
print(f"Folder: {folder.display_name}")
sub_folders = folder.get_sub_folders(ae.storage.pst.FolderKind.SEARCH | ae.storage.pst.FolderKind.NORMAL)
for sub_folder in sub_folders:
print(f"Sub-folder: {folder.display_name}")
Mengambil Informasi Folder Induk
Potongan kode berikut menunjukkan cara mengambil informasi folder induk dari MessageInfo.
Mengambil Subfolder PST Berdasarkan Jalur
Untuk mengambil subfolder PST berdasarkan jalur, gunakan metode get_sub_folder dari FolderInfo kelas. Ia mengambil subfolder spesifik dalam direktori atau sistem file.
Metode ini menerima parameter berikut:
-
name - mewakili nama subfolder yang perlu diambil. Ini digunakan untuk menentukan nama atau pengidentifikasi subfolder yang harus dicari oleh metode.
-
ignore_case - adalah nilai boolean yang menentukan apakah metode harus mengabaikan sensitivitas huruf besar/kecil saat membandingkan nama subfolder. Jika diatur ke True, metode akan menganggap pencocokan nama tanpa memperhatikan huruf (mis., "folder" dan "Folder" dianggap sama). Jika diatur ke False, metode akan melakukan perbandingan yang sensitif huruf.
-
handle_path_separator - adalah nilai boolean yang menentukan apakah metode harus menangani pemisah jalur saat mencari subfolder. Pemisah jalur adalah karakter yang digunakan untuk memisahkan folder dalam jalur direktori (misalnya, "\" di Windows atau "/" di Unix). Jika diatur ke True, metode akan menangani pemisah jalur secara otomatis, memastikan pencocokan folder yang tepat. Jika diatur ke False, ia akan memperlakukan pemisah jalur sebagai bagian dari nama subfolder, menghasilkan perilaku pencarian yang berbeda.
Contoh kode berikut menunjukkan cara mengambil subfolder PST berdasarkan jalur:
import aspose.email as ae
pst = ae.storage.pst.PersonalStorage.from_file("my.pst")
# In this sample, the method will return a ‘Jan’ named folder
# that is located at the Inbox\Reports\ path
# relative to the root folder.
folder = pst.root_folder.get_sub_folder("Inbox\Reports\Jan", True, True)