Hantera Outlook-kontakter i PST-filer

Lägg till Outlook-kontakter i PST-filer

Skapa ny PST-fil och lägg till undermappar visar hur man skapar en PST-fil och inkluderar undermappar i den. Med Aspose.Email kan du lägga till en MapiContact i Contacts-undermappen i en PST-fil som du har skapat eller laddat. Nedan följer stegen för att lägga till en MapiContact i en PST-fil:

  1. Skapa en MapiContact objekt.
  2. Ställ in MapiContact-egenskaper som namn, kön, e-postadresser, telefonnummer, fysiska adresser och professionell information med olika konstruktorer och metoder.
  3. Skapa en PST med hjälp av PersonalStorage.create() metod.
  4. Skapa en fördefinierad mapp (Kontakter) i rotkatalogen för PST-filen genom att komma åt rotmappen och sedan anropa add_mapi_message_item() metod.

Följande kodsnutt visar hur du skapar en MAPI-kontakt och sedan lägger till den i Kontaktmappen i en ny skapad PST-fil:

Spara Outlook-kontakter som MSG-filer

För att komma åt kontaktinformation från en Outlook PST-fil och spara kontakten på disk i MSG-format, tillhandahåller Aspose.Email PersonalStorage och MapiContact klasser. Kodsnippets nedan visar hur du hämtar all kontaktinformation från en PST-fil och sparar den på disk i MSG-format:

  1. Läs in PST-filen i PersonalStorage klass.
  2. Bläddra i Kontakter‑mappen.
  3. Hämta innehållet i Kontakter‑mappen för att få meddelandesamlingen.
  4. Loopa igenom meddelandesamlingen.
  5. Anropa PersonalStorage.extract_message() metod för att hämta kontaktinformationen i MapiMessage klass.
  6. Anropa MapiMessage.save() metod för att spara kontakten till disk i MSG-format.

Exportera Outlook-kontakter som VCF-filer

För att komma åt kontaktinformation från en Microsoft Outlook PST-fil och spara kontakten på disk i vCard (VCF)-format, använd PersonalStorage och MapiContact klasser. Koden nedan laddar en PST-fil från disk och sparar alla kontakter i vCard (VCF)-format. VCF-filerna kan sedan användas i vilket annat program som helst som kan läsa standard vCard-kontaktfilen. Om du öppnar någon VCF-fil i Microsoft Outlook ser den ut som den i skärmbilden nedan.

todo:image_alt_text

Följande kodsnutt visar hur du exporterar kontakter från Outlook PST till vCard (VCF)-format:

  1. Använd PersonalStorage.from_file för att öppna PST-filen.
  2. Kom åt Kontaktmappen med hjälp av get_sub_folder.
  3. Loopa igenom kontakter:
  4. Extrahera varje kontakt med hjälp av pst.extract_message(message_info) och lagra den som ett MAPI-meddelande.
  5. Skriv ut namn och entry ID för varje kontakt.
  6. Spara kontakten som en VCF-fil med hjälp av 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)

Hantera Outlook-distributionslistor i PST-filer

Aspose.Email för Python API gör det möjligt att skapa en distributionslista – en samling av flera kontakter. En distributionslista kan sparas på disk i Outlook MSG-format och kan visas/manipuleras genom att öppna den i MS Outlook.

Skapa och spara distributionslistor

Kodsnutten nedan visar hur du skapar en PST-fil och lägger till en distributionslista. Den innefattar också att skapa och lägga till kontakter i distributionslistan inom PST-filen.

  1. Definiera kontaktuppgifter - sätt displayName och e‑post för varje kontakt.
  2. Skapa en ny PST‑fil med hjälp av PersonalStorage.create() med UNICODE-format.
  3. Skapa kontaktmapp med hjälp av create_predefined_folder().
  4. Instansiera MapiContact objekt med visningsnamn och e-post, och sedan lägga till kontakter i mappen med hjälp av add_mapi_message_item().
  5. Skapa distributionslistmedlemmar genom att instansiera MapiDistributionListMember för varje kontakt och sätt entry_id med base64-avkodning.
  6. Lägg till medlemmar till MapiDistributionListMemberCollection.
  7. Skapa en distributionslista genom att instansiera MapiDistributionList, där brödtext och ämne sätts.
  8. Använd add_mapi_message_item() för att lägga till distributionslistan i kontaktmappen.
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);

Läs distributionslistor från PST‑filer

Följande kodsnutt visar hur du läser en distributionslista från en PST-fil:

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()

Uppdatera distributionslistor i Outlook PST-filer

För att uppdatera en distributionslista i en PST‑fil, till exempel för att lägga till en ny medlem, använd följande kodexempel:

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)