Parsing File PST Outlook dengan Python

PST (Personal Storage Table) adalah format file penyimpanan yang digunakan oleh berbagai program Microsoft. File PST mampu menyimpan data pesan, kontak, kalender, acara, dll. Ini digunakan oleh perangkat lunak Microsoft populer seperti MS Outlook, Exchange, dan Windows Messaging. Dalam kasus tertentu, Anda mungkin perlu mengurai file PST dan mengekstrak data darinya secara terprogram. Untuk mencapainya, artikel ini menunjukkan cara mengurai file PST dari dalam aplikasi Python.

Perpustakaan Python untuk Mengurai File PST

Untuk mengurai file PST, kami akan menggunakan Aspose.Email for Python. Ini adalah perpustakaan Python yang kuat yang memungkinkan Anda mengimplementasikan klien email kaya fitur dengan mulus. Selain itu, ini memungkinkan Anda bekerja dengan email populer dan format penyimpanan. Anda dapat menginstal pustaka dari PyPI menggunakan perintah berikut.

> pip install Aspose.Email-for-Python-via-NET

Parsing File PST dengan Python

Berikut ini adalah langkah-langkah untuk mengurai file PST dan mengekstrak informasinya dengan Python.

  • Muat file PST menggunakan metode PersonalStorage.fromfile().
  • Dapatkan koleksi folder di PST menggunakan metode PersonalStorage.rootfolder.getsubfolders() .
  • Ambil informasi folder seperti nama, jumlah item, dll.

Contoh kode berikut menunjukkan cara mengurai file PST dan mengambil informasi folder.

from aspose.email import PersonalStorage

# Muat file PST
personalStorage = PersonalStorage.from_file("Outlook.pst")

# Dapatkan koleksi folder
folderInfoCollection = personalStorage.root_folder.get_sub_folders()

# Ekstrak informasi folder
for folderInfo in folderInfoCollection:
	print("Folder: " + folderInfo.display_name)
	print("Total Items: " + str(folderInfo.content_count))
	print("Total Unread Items: " + str(folderInfo.content_unread_count))

Ekstrak Pesan dari File PST dengan Python

Pesan adalah entitas utama yang disimpan dalam file PST oleh program Microsoft seperti MS Outlook. Jadi mari kita lihat cara mengekstrak pesan dari file PST dengan Python.

  • Muat file PST menggunakan metode PersonalStorage.fromfile().
  • Dapatkan referensi folder yang diinginkan dalam objek menggunakan metode PersonalStorage.rootfolder.getsubfolder() .
  • Dapatkan koleksi pesan menggunakan metode getcontents().
  • Telusuri pesan dalam koleksi dan baca setiap bidang pesan.

Contoh kode berikut menunjukkan cara mengekstrak pesan dari file PST dengan Python.

from aspose.email import PersonalStorage

# Muat file PST
sourcePst = PersonalStorage.from_file("Outlook.pst")

# Pilih folder yang diinginkan
sourceFolder = sourcePst.root_folder.get_sub_folder("Inbox")

# Dapatkan konten di folder
messageInfoCollection = sourceFolder.get_contents()

# Ulangi pesan dalam folder
for messageInfo in messageInfoCollection:
        print ("Subject: " + messageInfo.subject)
        print("To: " + messageInfo.display_to)

Ekstrak Kontak dari File PST dengan Python

Dalam kasus tertentu, Anda mungkin perlu mengekstrak informasi kontak yang disimpan dalam file PST. Langkah-langkah berikut menunjukkan cara mengakses kontak dalam file PST dengan Python.

  • Muat file PST menggunakan metode PersonalStorage.fromfile().
  • Dapatkan referensi folder kontak menggunakan metode getpredefinedfolder(StandardIpmFolder.CONTACTS).
  • Dapatkan koleksi kontak menggunakan metode getcontents().
  • Ulangi koleksi dan baca setiap kontak atau simpan.

Contoh kode berikut menunjukkan cara mengekstrak kontak dari file PST dengan Python.

from aspose.email import PersonalStorage, StandardIpmFolder, ContactSaveFormat

# Muat file PST
pst = PersonalStorage.from_file("SampleContacts_out.pst")

# Pilih folder kontak				
folderInfo = pst.get_predefined_folder(StandardIpmFolder.CONTACTS)

# Dapatkan kontak
contactCollection = folderInfo.get_contents()

# Ulangi koleksi kontak
for  messageInfo in contactCollection:

    # Dapatkan informasi kontak
    mapi = pst.extract_message(messageInfo)

    contact = mapi.to_mapi_message_item()

    # Menampilkan beberapa konten di layar
    print("Name: " + contact.name_info.display_name)

    # Simpan ke disk dalam Format MSG
    if contact.name_info.display_name is not None:
        # Simpan kontak
        contact.save("Contacts\\" + contact.name_info.display_name + "_out.msg")
        contact.save("Contacts\\" + contact.name_info.display_name + "_out.vcf", ContactSaveFormat.VCARD)

Dapatkan Lisensi API Gratis

Anda dapat mencoba Aspose.Email for Python secara gratis dengan mendapatkan lisensi sementara.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara mengurai file PST dengan Python. Selanjutnya, Anda telah melihat cara mengekstrak kontak dan pesan dari file PST secara terprogram dengan Python. Selain itu, Anda dapat mempelajari lebih lanjut tentang Aspose.Email menggunakan dokumentasi. Selain itu, Anda dapat membagikan pertanyaan atau pertanyaan Anda di forum kami.

Lihat juga