Gestione dei contatti Outlook nei file PST

Aggiungi Contatti Outlook ai File PST

Crea Nuovo File PST e Aggiungi Sottocartelle dimostra come creare un file PST e includere sottocartelle al suo interno. Con Aspose.Email puoi aggiungere un MapiContact alla sottocartella Contatti di un file PST che hai creato o caricato. Di seguito i passaggi per aggiungere un MapiContact a un file PST:

  1. Crea un MapiContact oggetto.
  2. Imposta le proprietà del MapiContact come nome, genere, indirizzi email, numeri di telefono, indirizzi fisici e informazioni professionali usando diversi costruttori e metodi.
  3. Crea un PST usando il PersonalStorage.create() metodo.
  4. Crea una cartella predefinita (Contatti) alla radice del file PST accedendo alla cartella radice e poi chiamando il add_mapi_message_item() metodo.

Il seguente frammento di codice mostra come creare un contatto MAPI e poi aggiungerlo alla cartella Contatti di un nuovo file PST:

Salva Contatti Outlook come File MSG

Per accedere alle informazioni di contatto da un file PST di Outlook e salvare il contatto su disco in formato MSG, Aspose.Email fornisce il PersonalStorage e il MapiContact classi. Il frammento di codice qui sotto mostra come recuperare tutte le informazioni dei contatti da un file PST e salvarle su disco in formato MSG:

  1. Carica il file PST nel PersonalStorage classe.
  2. Sfoglia la cartella Contatti.
  3. Ottieni il contenuto della cartella Contatti per ottenere la collezione di messaggi.
  4. Itera attraverso la collezione di messaggi.
  5. Chiama il PersonalStorage.extract_message() metodo per ottenere le informazioni del contatto nel MapiMessage classe.
  6. Chiama il MapiMessage.save() metodo per salvare il contatto su disco in formato MSG.

Esporta Contatti Outlook come File VCF

Per accedere alle informazioni di contatto da un file PST di Microsoft Outlook e salvare il contatto su disco in formato vCard (VCF), usa il PersonalStorage e MapiContact classi. Il codice qui sotto carica un file PST dal disco e salva tutti i contatti in formato vCard (VCF). I file VCF possono quindi essere usati in qualsiasi altro programma che possa caricare il file di contatto vCard standard. Se apri un file VCF in Microsoft Outlook, appare come quello nello screenshot sottostante.

todo:image_alt_text

Il seguente frammento di codice mostra come esportare i contatti da Outlook PST a formato vCard (VCF):

  1. Usa PersonalStorage.from_file per aprire il file PST.
  2. Accedi alla cartella Contatti usando il get_sub_folder.
  3. Cicla Attraverso i Contatti:
  4. Estrai ogni contatto usando pst.extract_message(message_info) e salvalo come elemento messaggio MAPI.
  5. Stampa il nome e l’ID voce di ogni contatto.
  6. Salva il contatto come file VCF usando 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)

Gestire Liste di Distribuzione Outlook nei File PST

L’API Aspose.Email per Python rende possibile creare una lista di distribuzione - una raccolta di più contatti. Una lista di distribuzione può essere salvata su disco in formato Outlook MSG e può essere visualizzata/manipolata aprendo in MS Outlook.

Crea e salva liste di distribuzione

Il frammento di codice qui sotto dimostra come creare un file PST e aggiungere una lista di distribuzione. Include anche la creazione e l’aggiunta di contatti alla lista di distribuzione all’interno del file PST.

  1. Definisci i dettagli del contatto - imposta displayName ed email per ogni contatto.
  2. Crea un nuovo file PST usando PersonalStorage.create() con formato UNICODE.
  3. Crea cartella Contatti usando create_predefined_folder().
  4. Istanziare MapiContact oggetti con nome visualizzato e email, poi aggiungi i contatti alla cartella usando add_mapi_message_item().
  5. Crea membri della lista di distribuzione istanziando MapiDistributionListMember per ogni contatto e impostando entry_id con decodifica base64.
  6. Aggiungi membri a MapiDistributionListMemberCollection.
  7. Crea una lista di distribuzione istanziando MapiDistributionList, impostando corpo e oggetto.
  8. Usa add_mapi_message_item() per aggiungere la lista di distribuzione alla cartella contatti.
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);

Leggi le liste di distribuzione dai file PST

Il seguente frammento di codice mostra come leggere una lista di distribuzione da un 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()

Aggiorna Liste di Distribuzione nei File PST di Outlook

Per aggiornare una lista di distribuzione in un file PST, ad esempio per aggiungere un nuovo membro, utilizza il seguente esempio di codice:

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)