Mengelola Kontak Outlook dalam File PST

Tambah Kontak Outlook ke File PST

Buat File PST Baru dan Tambahkan Subfolder menunjukkan cara membuat file PST dan menyertakan subfolder di dalamnya. Dengan Aspose.Email Anda dapat menambahkan MapiContact ke subfolder Kontak dari file PST yang telah Anda buat atau muat. Berikut langkah-langkah untuk menambahkan MapiContact ke file PST:

  1. Buat sebuah MapiContact objek.
  2. Atur properti MapiContact seperti nama, jenis kelamin, alamat email, nomor telepon, alamat fisik, dan informasi profesional menggunakan berbagai konstruktor dan metode.
  3. Buat PST menggunakan PersonalStorage.create() metode.
  4. Buat folder pra-definisi (Contacts) di akar file PST dengan mengakses folder akar dan kemudian memanggil add_mapi_message_item() metode.

Potongan kode berikut menunjukkan cara membuat kontak MAPI dan kemudian menambahkannya ke folder Kontak dari file PST yang baru dibuat:

Simpan Kontak Outlook sebagai File MSG

Untuk mengakses informasi kontak dari file PST Outlook dan menyimpan kontak ke disk dalam format MSG, Aspose.Email menyediakan PersonalStorage dan MapiContact kelas. Potongan kode di bawah ini menunjukkan cara mengambil semua informasi kontak dari file PST dan menyimpannya ke disk dalam format MSG:

  1. Muat file PST dalam PersonalStorage kelas.
  2. Jelajahi folder Kontak.
  3. Dapatkan isi folder Kontak untuk memperoleh koleksi pesan.
  4. Loop melalui koleksi pesan.
  5. Panggil PersonalStorage.extract_message() metode untuk mendapatkan informasi kontak dalam MapiMessage kelas.
  6. Panggil MapiMessage.save() metode untuk menyimpan kontak ke disk dalam format MSG.

Ekspor Kontak Outlook sebagai File VCF

Untuk mengakses informasi kontak dari file PST Microsoft Outlook dan menyimpan kontak ke disk dalam format vCard (VCF), gunakan PersonalStorage dan MapiContact kelas. Kode di bawah memuat file PST dari disk dan menyimpan semua kontak ke format vCard (VCF). File VCF kemudian dapat digunakan di program lain yang dapat memuat file kontak vCard standar. Jika Anda membuka file VCF apa pun di Microsoft Outlook, tampilannya seperti pada screenshot di bawah.

todo:image_alt_text

Potongan kode berikut menunjukkan cara mengekspor kontak dari PST Outlook ke format vCard (VCF):

  1. Gunakan PersonalStorage.from_file untuk membuka file PST.
  2. Akses folder Kontak menggunakan get_sub_folder.
  3. Loop Melalui Kontak:
  4. Ekstrak setiap kontak menggunakan pst.extract_message(message_info) dan simpan sebagai item pesan MAPI.
  5. Cetak nama dan entry ID setiap kontak.
  6. Simpan kontak sebagai file VCF menggunakan contact.save.
from aspose.email.storage.pst import PersonalStorage
from aspose.email.mapi import ContactSaveFormat

# Load the Outlook PST file
pst = PersonalStorage.from_file("my.pst")

# Get the Contacts folder
folder_info = pst.root_folder.get_sub_folder("Contacts")

# Loop through all the contacts in this folder
message_info_collection = folder_info.get_contents()
for message_info in message_info_collection:
    # Get the contact information
    contact = pst.extract_message(message_info).to_mapi_message_item()

    # Display some contents on screen
    print("Name: " + contact.name_info.display_name + " - " + message_info.entry_id_string)

    # Save to disk in vCard VCF format
    contact.save("D:\\" + contact.name_info.display_name + ".vcf", ContactSaveFormat.V_CARD)

Mengelola Daftar Distribusi Outlook dalam File PST

API Aspose.Email untuk Python memungkinkan pembuatan daftar distribusi - kumpulan beberapa kontak. Daftar distribusi dapat disimpan ke disk dalam format Outlook MSG dan dapat dilihat/dimodifikasi dengan membukanya di MS Outlook.

Buat dan Simpan Daftar Distribusi

Potongan kode di bawah ini menunjukkan cara membuat file PST dan menambahkan daftar distribusi. Ini juga melibatkan pembuatan dan penambahan kontak ke daftar distribusi dalam file PST.

  1. Tentukan detail kontak - atur displayName dan email untuk setiap kontak.
  2. Buat file PST baru menggunakan PersonalStorage.create() dengan format UNICODE.
  3. Buat folder Kontak menggunakan create_predefined_folder().
  4. Instantiate MapiContact objek dengan nama tampilan dan email, kemudian tambahkan kontak ke folder menggunakan add_mapi_message_item().
  5. Buat anggota daftar distribusi dengan menginstansiasi MapiDistributionListMember untuk setiap kontak dan mengatur entry_id dengan decode base64.
  6. Tambahkan anggota ke MapiDistributionListMemberCollection.
  7. Buat daftar distribusi dengan menginstansiasi MapiDistributionList, mengatur isi dan subjeknya.
  8. Gunakan add_mapi_message_item() untuk menambahkan daftar distribusi ke folder kontak.
displayName1 = "Sebastian Wright"
email1 = "SebastianWright@dayrep.com"

displayName2 = "Wichert Kroos"
email2 = "WichertKroos@teleworm.us"

personalStorage = PersonalStorage.create(dataDir + "CreateDistributionListInPST_out.pst", FileFormatVersion.UNICODE)

contactFolder = personalStorage.create_predefined_folder("Contacts", StandardIpmFolder.CONTACTS)

   # Create contacts
   strEntryId1 = contactFolder.add_mapi_message_item(MapiContact(displayName1, email1))
   strEntryId2 = contactFolder.add_mapi_message_item( MapiContact(displayName2, email2))

   member1 = MapiDistributionListMember(displayName1, email1)
   member1.entry_id_type = MapiDistributionListEntryIdType.CONTACT
   member1.entry_id = base64.b64decode( bytes(strEntryId1, "utf-8") )

   member2 = MapiDistributionListMember(displayName2, email2)
   member2.entry_id_type = MapiDistributionListEntryIdType.CONTACT
   member2.entry_id = base64.b64decode( bytes(strEntryId1, "utf-8") )

   members = MapiDistributionListMemberCollection()
   members.append(member1)
   members.append(member2)

   distribution_list = MapiDistributionList("Contact list", members)
   distribution_list.body = "Distribution List Body"
   distribution_list.subject = "Sample Distribution List using Aspose.Email"     
                    
   # Add distribution list to PST 
   contactFolder.add_mapi_message_item(distribution_list);

Baca Daftar Distribusi dari File PST

Potongan kode berikut menunjukkan cara membaca daftar distribusi dari file PST:

from aspose.email.mapi import MapiMessage

# Load the MAPI message from file
message = MapiMessage.load("dl.msg")

# Convert the message to MAPI distribution list
dlist = message.to_mapi_message_item()

Perbarui Daftar Distribusi di File PST Outlook

Untuk memperbarui daftar distribusi dalam file PST, misalnya menambahkan anggota baru, gunakan contoh kode berikut:

import aspose.email as ae

pst = ae.storage.pst.PersonalStorage.from_file("my.pst")

folder = pst.get_predefined_folder(ae.storage.pst.StandardIpmFolder.CONTACTS)

# Add a new member to each distribution list in pst
for msg in folder.enumerate_messages():
    # Check if the message has the "IPM.DistList" message class
    if msg.message_class == "IPM.DistList":
        dist_list = pst.extract_message(msg).to_mapi_message_item()
        # Create a new member to add
        member = ae.mapi.MapiDistributionListMember("Edward R. Manuel", "EdwardRManuel@example.com")
        dist_list.members.append(member)
        # Update DL in PST
        folder.update_message(msg.entry_id_string, dist_list)