Beheren van Outlook-distributielijsten in PST-bestanden
Een distributielijst is een groep contacten die door geautomatiseerde software kan worden gemanipuleerd, waardoor de gebruiker e‑mails naar meerdere ontvangers tegelijk kan sturen.
Aspose.Email for Python API stelt gebruikers in staat om distributielijsten te maken, beheren en manipuleren. Dit omvat het creëren en opslaan van leden uit de lijst, het lezen van distributielijsten, het bijwerken van lijst‑eigenschappen en andere gerelateerde bewerkingen.
Maak en sla distributielijsten op in PST‑bestanden
Voeg een distributielijst toe met bestaande PST‑contacten
Het onderstaande codefragment toont hoe je een distributielijst maakt met contacten die al in een PST‑bestand zijn opgeslagen.
- Maak een nieuw PST‑bestand aan met PersonalStorage.create() met UNICODE‑formaat.
- Maak een vooraf gedefinieerde map "Contacts" en voeg twee contactvermeldingen (Sebastian Wright en Wichert Kroos) toe aan deze map.
- Contacten toevoegen aan de distributielijst:
- Elk contact wordt aan de distributielijst toegevoegd als een MapiDistributionListMember.
- De entry_id van elk lid is gekoppeld aan het corresponderende PST‑contact via de gecodeerde strEntryId.
- Maak een distributielijst met de naam "Contact list" die de toegevoegde contacten als leden bevat, en voeg deze toe aan het PST‑bestand.
import aspose.email as ae
displayName1 = "Sebastian Wright"
email1 = "SebastianWright@dayrep.com"
displayName2 = "Wichert Kroos"
email2 = "WichertKroos@teleworm.us"
pst = ae.storage.pst.PersonalStorage.create("target.pst", ae.storage.pst.FileFormatVersion.UNICODE)
contactFolder = pst.create_predefined_folder("Contacts", ae.storage.pst.StandardIpmFolder.CONTACTS)
strEntryId1 = contactFolder.add_mapi_message_item(ae.mapi.MapiContact(displayName1, email1))
strEntryId2 = contactFolder.add_mapi_message_item(ae.mapi.MapiContact(displayName2, email2))
member1 = ae.mapi.MapiDistributionListMember(displayName1, email1)
member1.entry_id_type = ae.mapi.MapiDistributionListEntryIdType.CONTACT
member1.entry_id = strEntryId1.encode()
member2 = ae.mapi.MapiDistributionListMember(displayName2, email2)
member2.entry_id_type = ae.mapi.MapiDistributionListEntryIdType.CONTACT
member2.entry_id = strEntryId2.encode()
members = ae.mapi.MapiDistributionListMemberCollection()
members.append(member1)
members.append(member2)
distributionList = ae.mapi.MapiDistributionList("Contact list", members)
distributionList.body = "Distribution List Body"
distributionList.subject = "Sample Distribution List using Aspose.Email"
# Add distribution list to PST
contactFolder.add_mapi_message_item(distributionList)
Voeg een distributielijst toe met eenmalige leden
Eenmalige leden zijn geschikt wanneer de contacten geen deel uitmaken van het Outlook-adresboek maar toch in de distributielijst moeten worden opgenomen. Het volgende codevoorbeeld toont hoe je een distributielijst maakt met eenmalige leden — contacten die niet in het PST‑bestand zijn opgeslagen.
- Maak een nieuw PST‑bestand aan met PersonalStorage.create() met UNICODE‑formaat.
- In plaats van contacten vanuit de PST te koppelen, definieer nieuwe contactvermeldingen (John R. Patrick en Tilly Bates) direct als eenmalige leden.
- Voeg de eenmalige leden toe aan een distributielijst.
- Maak een distributielijst met de naam "Simple list" en voeg deze toe aan de map "Contacts" in het PST-bestand.
import aspose.email as ae
displayName1 = "Sebastian Wright"
email1 = "SebastianWright@dayrep.com"
displayName2 = "Wichert Kroos"
email2 = "WichertKroos@teleworm.us"
pst = ae.storage.pst.PersonalStorage.create("target.pst", ae.storage.pst.FileFormatVersion.UNICODE)
contact_folder = pst.create_predefined_folder("Contacts", ae.storage.pst.StandardIpmFolder.CONTACTS)
one_off_members = ae.mapi.MapiDistributionListMemberCollection()
one_off_members.append(ae.mapi.MapiDistributionListMember("John R. Patrick", "JohnRPatrick@armyspy.com"))
one_off_members.append(ae.mapi.MapiDistributionListMember("Tilly Bates", "TillyBates@armyspy.com"))
one_off_members_list = ae.mapi.MapiDistributionList("Simple list", one_off_members)
contact_folder.add_mapi_message_item(one_off_members_list)
Lees distributielijsten uit PST‑bestanden
Om een distributielijst uit een PST te lezen, gebruik de 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)
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()
# Now, you can work with the distribution list
# (e.g., access its members, display its properties, or make modifications)
for member in dist_list.members:
print(f"{member.display_name}")
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 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)