Outlook-contacten beheren in PST-bestanden
Voeg Outlook‑contacten toe aan PST‑bestanden
Maak nieuw PST‑bestand en voeg submappen toe toont hoe je een PST‑bestand maakt en er submappen in opneemt. Met Aspose.Email kun je een MapiContact toevoegen aan de submap Contacten van een PST‑bestand dat je hebt aangemaakt of geladen. Hieronder staan de stappen om een MapiContact toe te voegen aan een PST‑bestand:
- Maak een MapiContact object.
- Stel de MapiContact‑eigenschappen in, zoals naam, geslacht, e‑mailadressen, telefoonnummers, fysieke adressen en professionele informatie, met behulp van verschillende constructors en methoden.
- Maak een PST aan met de PersonalStorage.create() methode.
- Maak een vooraf gedefinieerde map (Contacten) aan de root van het PST‑bestand door de root‑map te benaderen en vervolgens de add_mapi_message_item() methode.
De volgende codefragment toont hoe je een MAPI‑contact maakt en vervolgens toevoegt aan de map Contacten van een nieuw aangemaakt PST‑bestand:
Sla Outlook‑contacten op als MSG‑bestanden
Om contactinformatie uit een Outlook‑PST‑bestand te benaderen en het contact op schijf op te slaan in MSG‑formaat, biedt Aspose.Email de PersonalStorage en de MapiContact klassen. Het codefragment hieronder toont hoe je alle contactinformatie uit een PST‑bestand haalt en op schijf opslaat in MSG‑formaat:
- Laad het PST‑bestand in de PersonalStorage klasse.
- Blader door de map Contacten.
- Haal de inhoud van de map Contacten op om de berichtenverzameling te verkrijgen.
- Loop door de berichtenverzameling.
- Roep de PersonalStorage.extract_message() methode om de contactinformatie te verkrijgen in de MapiMessage klasse.
- Roep de MapiMessage.save() methode om het contact op schijf op te slaan in MSG‑formaat.
Export Outlook‑contacten als VCF‑bestanden
Om contactinformatie uit een Microsoft Outlook‑PST‑bestand te benaderen en het contact op schijf op te slaan in vCard (VCF)‑formaat, gebruik de PersonalStorage en MapiContact klassen. De code hieronder laadt een PST‑bestand van schijf en slaat alle contacten op in vCard (VCF)‑formaat. De VCF‑bestanden kunnen vervolgens in elk ander programma worden gebruikt dat het standaard vCard‑contactbestand kan laden. Als je een VCF‑bestand opent in Microsoft Outlook, ziet het eruit zoals op de onderstaande screenshot.
![]() |
|---|
Het volgende codefragment toont hoe je contacten exporteert vanuit Outlook‑PST naar vCard (VCF)‑formaat:
- Gebruik PersonalStorage.from_file om het PST‑bestand te openen.
- Benader de map Contacten met behulp van de get_sub_folder.
- Loop door Contacten:
- Gebruik get_contents() om alle berichtinformatie in de map te verkrijgen.
- Itereren door message_info_collection met een lus.
- Haal elk contact eruit met behulp van pst.extract_message(message_info) en sla het op als een MAPI‑berichtitem.
- Print de naam en entry‑ID van elk contact.
- Sla het contact op als een VCF‑bestand met gebruik van 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)
Beheren van Outlook‑distributielijsten in PST‑bestanden
Aspose.Email voor Python‑API maakt het mogelijk een distributielijst te creëren – een verzameling van meerdere contacten. Een distributielijst kan op schijf worden opgeslagen in Outlook MSG‑formaat en kan worden bekeken/bewerkt door deze te openen in MS Outlook.
Maak en sla distributielijsten op
Het codefragment hieronder toont hoe je een PST‑bestand maakt en een distributielijst toevoegt. Het omvat tevens het aanmaken en toevoegen van contacten aan de distributielijst binnen het PST‑bestand.
- Definieer contactdetails - stel displayName en e‑mail in voor elk contact.
- Maak een nieuw PST‑bestand aan met PersonalStorage.create() met UNICODE‑formaat.
- Maak map Contacten aan met gebruik van create_predefined_folder().
- Instantiëren MapiContact objecten met de weergavenaam en e‑mail, en voeg vervolgens contacten toe aan de map met behulp van add_mapi_message_item().
- Maak leden van de distributielijst door te instantieren MapiDistributionListMember voor elk contact en stel entry_id in met base64‑decodering.
- Voeg leden toe aan MapiDistributionListMemberCollection.
- Maak een distributielijst door te instantieren MapiDistributionList, waarbij de body en het onderwerp worden ingesteld.
- Gebruik add_mapi_message_item() om de distributielijst toe te voegen aan de contactmap.
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);
Lees distributielijsten uit PST‑bestanden
Het volgende codefragment toont hoe je een distributielijst uit een PST‑bestand leest:
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()
Werk distributielijsten bij in Outlook‑PST‑bestanden
Om een distributielijst in een PST‑bestand bij te werken, bijvoorbeeld om een nieuw lid toe te voegen, gebruikt u het volgende codevoorbeeld:
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)
