Správa kontaktů Outlook v souborech PST

Přidat Outlook kontakty do souborů PST

Vytvořit nový soubor PST a přidat podsložky ukazuje, jak vytvořit soubor PST a zahrnout do něj podsložky. S Aspose.Email můžete přidat MapiContact do podsložky Contacts v souboru PST, který jste vytvořili nebo načetli. Níže jsou kroky pro přidání MapiContact do souboru PST:

  1. Vytvořte MapiContact objektu.
  2. Nastavte vlastnosti MapiContact, jako je jméno, pohlaví, e‑mailové adresy, telefonní čísla, fyzické adresy a profesní informace pomocí různých konstruktorů a metod.
  3. Vytvořte PST pomocí PersonalStorage.create() metoda.
  4. Vytvořte předdefinovanou složku (Contacts) v kořenovém adresáři souboru PST přístupem ke kořenové složce a následným voláním add_mapi_message_item() metoda.

Následující úryvek kódu ukazuje, jak vytvořit MAPI kontakt a poté jej přidat do složky Contacts v nově vytvořeném souboru PST:

Uložit Outlook kontakty jako MSG soubory

Pro přístup k informacím o kontaktech ze souboru Outlook PST a uložení kontaktu na disk ve formátu MSG poskytuje Aspose.Email PersonalStorage a MapiContact třídy. Níže uvedený úryvek kódu ukazuje, jak získat všechny kontaktní informace ze souboru PST a uložit je na disk ve formátu MSG:

  1. Načtěte soubor PST v PersonalStorage třída.
  2. Prohlédněte složku Contacts.
  3. Získejte obsah složky Contacts, abyste získali kolekci zpráv.
  4. Procházejte kolekci zpráv.
  5. Zavolejte PersonalStorage.extract_message() metoda pro získání informací o kontaktu v MapiMessage třída.
  6. Zavolejte MapiMessage.save() metoda pro uložení kontaktu na disk ve formátu MSG.

Exportovat Outlook kontakty jako VCF soubory

Pro přístup k informacím o kontaktech z Microsoft Outlook PST souboru a uložení kontaktu na disk ve formátu vCard (VCF) použijte PersonalStorage a MapiContact třídy. Níže uvedený kód načte soubor PST z disku a uloží všechny kontakty do formátu vCard (VCF). VCF soubory pak mohou být použity v jakémkoli jiném programu, který načte standardní soubor vCard kontaktu. Pokud otevřete libovolný VCF soubor v Microsoft Outlook, vypadá to jako na níže uvedené snímku obrazovky.

todo:image_alt_text

Následující úryvek kódu ukazuje, jak exportovat kontakty z Outlook PST do formátu vCard (VCF):

  1. Použijte PersonalStorage.from_file pro otevření souboru PST.
  2. Přistupovat ke složce Contacts pomocí get_sub_folder.
  3. Iterovat přes kontakty:
  4. Extrahovat každý kontakt pomocí pst.extract_message(message_info) a uložit jej jako MAPI položku zprávy.
  5. Vytisknout jméno a entry ID každého kontaktu.
  6. Uložit kontakt jako VCF soubor pomocí 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)

Správa Outlook distribučních seznamů v souborech PST

Aspose.Email pro Python API umožňuje vytvořit distribuční seznam – sbírku více kontaktů. Distribuční seznam lze uložit na disk ve formátu Outlook MSG a lze jej zobrazit či upravit otevřením v MS Outlook.

Vytvořit a uložit distribuční seznamy

Níže uvedený úryvek kódu demonstruje, jak vytvořit soubor PST a přidat distribuční seznam. Zahrnuje také vytvoření a přidání kontaktů do distribučního seznamu v rámci souboru PST.

  1. Definovat podrobnosti kontaktu – nastavit displayName a e‑mail pro každý kontakt.
  2. Vytvořte nový soubor PST pomocí PersonalStorage.create() ve formátu UNICODE.
  3. Vytvořit složku Contacts pomocí create_predefined_folder().
  4. Instancovat MapiContact objektů s zobrazovaným jménem a e‑mailem, poté přidejte kontakty do složky pomocí add_mapi_message_item().
  5. Vytvořte členy distribučního seznamu vytvořením instance MapiDistributionListMember pro každý kontakt a nastavení entry_id pomocí base64 dekódování.
  6. Přidat členy do MapiDistributionListMemberCollection.
  7. Vytvořte distribuční seznam vytvořením instance MapiDistributionList, nastavení těla a předmětu.
  8. Použijte add_mapi_message_item() pro přidání distribučního seznamu do složky kontaktů.
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);

Číst distribuční seznamy ze souborů PST

Následující úryvek kódu ukazuje, jak načíst distribuční seznam ze souboru 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()

Aktualizovat distribuční seznamy v Outlook PST souborech

Pro aktualizaci distribučního seznamu v souboru PST, například pro přidání nového člena, použijte následující ukázku kódu:

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)