Verwalten von Outlook‑Kontakten in PST‑Dateien
Outlook‑Kontakte zu PST‑Dateien hinzufügen
Neue PST‑Datei erstellen und Unterordner hinzufügen demonstriert, wie man eine PST‑Datei erstellt und Unterordner darin einfügt. Mit Aspose.Email können Sie einen MapiContact zum Kontakte‑Unterordner einer PST‑Datei hinzufügen, die Sie erstellt oder geladen haben. Nachfolgend die Schritte, um einen MapiContact zu einer PST‑Datei hinzuzufügen:
- Erstellen Sie ein MapiContact Objekt.
- Setzen Sie die Eigenschaften des MapiContact, wie Name, Geschlecht, E‑Mail‑Adressen, Telefonnummern, physische Adressen und berufliche Informationen, mittels verschiedener Konstruktoren und Methoden.
- Erstellen Sie eine PST mit der PersonalStorage.create() Methode.
- Erstellen Sie einen vordefinierten Ordner (Contacts) im Stammverzeichnis der PST‑Datei, indem Sie den Stammordner aufrufen und dann die add_mapi_message_item() Methode.
Das folgende Code‑Snippet zeigt, wie man einen MAPI‑Kontakt erstellt und ihn anschließend dem Kontakte‑Ordner einer neu erstellten PST‑Datei hinzufügt:
Outlook‑Kontakte als MSG‑Dateien speichern
Um Kontaktinformationen aus einer Outlook‑PST‑Datei zu erhalten und den Kontakt im MSG‑Format zu speichern, stellt Aspose.Email die PersonalStorage und das MapiContact Klassen. Das folgende Code‑Snippet zeigt, wie man alle Kontaktinformationen aus einer PST‑Datei abruft und sie auf dem Datenträger im MSG‑Format speichert:
- Laden Sie die PST‑Datei in das PersonalStorage Klasse.
- Durchsuchen Sie den Kontakte‑Ordner.
- Holen Sie den Inhalt des Kontakte‑Ordners, um die Nachrichten‑Sammlung zu erhalten.
- Durchlaufen Sie die Nachrichten‑Sammlung.
- Rufen Sie die PersonalStorage.extract_message() Methode, um die Kontaktinformationen im MapiMessage Klasse.
- Rufen Sie die MapiMessage.save() Methode, um den Kontakt im MSG‑Format auf die Festplatte zu speichern.
Outlook‑Kontakte als VCF‑Dateien exportieren
Um Kontaktinformationen aus einer Microsoft Outlook‑PST‑Datei zu erhalten und den Kontakt im vCard‑Format (VCF) zu speichern, verwenden Sie die PersonalStorage und MapiContact Klassen. Der untenstehende Code lädt eine PST‑Datei von der Festplatte und speichert alle Kontakte im vCard‑Format (VCF). Die VCF‑Dateien können anschließend in jedem anderen Programm verwendet werden, das die standardmäßige vCard‑Kontaktdatei laden kann. Wenn Sie eine VCF‑Datei in Microsoft Outlook öffnen, sieht sie wie die unten abgebildete aus.
![]() |
|---|
Das folgende Code‑Snippet zeigt, wie Sie Kontakte aus Outlook‑PST ins vCard‑Format (VCF) exportieren:
- Verwenden PersonalStorage.from_file um die PST‑Datei zu öffnen.
- Greifen Sie auf den Kontakte‑Ordner zu mittels get_sub_folder.
- Kontakte durchlaufen:
- Verwenden get_contents() um alle Nachrichteninformationen im Ordner zu erhalten.
- Durchlaufen Sie message_info_collection mit einer Schleife.
- Jeden Kontakt extrahieren mit pst.extract_message(message_info) und speichern Sie es als MAPI‑Nachrichtenelement.
- Geben Sie den Namen und die Entry‑ID jedes Kontakts aus.
- Speichern Sie den Kontakt als VCF‑Datei mit 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)
Verwaltung von Outlook‑Verteilerlisten in PST‑Dateien
Aspose.Email für Python API ermöglicht das Erstellen einer Verteilerliste – einer Sammlung mehrerer Kontakte. Eine Verteilerliste kann auf der Festplatte im Outlook‑MSG‑Format gespeichert und durch Öffnen in MS Outlook angesehen/bearbeitet werden.
Verteilerlisten erstellen und speichern
Das nachfolgende Code‑Snippet demonstriert, wie man eine PST‑Datei erstellt und eine Verteilerliste hinzufügt. Es beinhaltet außerdem das Erstellen und Hinzufügen von Kontakten zur Verteilerliste innerhalb der PST‑Datei.
- Kontaktdetails festlegen – displayName und E‑Mail für jeden Kontakt setzen.
- Erstellen Sie eine neue PST-Datei mit PersonalStorage.create() im UNICODE‑Format.
- Erstelle Kontakte‑Ordner mit create_predefined_folder().
- Instanziieren MapiContact Objekte mit Anzeigename und E‑Mail, dann Kontakte zum Ordner hinzufügen mittels add_mapi_message_item().
- Verteilerlisten‑Mitglieder erstellen durch Instanziieren MapiDistributionListMember für jeden Kontakt und setzen von entry_id mit Base64‑Dekodierung.
- Mitglieder hinzufügen zu MapiDistributionListMemberCollection.
- Erstellen Sie eine Verteilerliste, indem Sie instanziieren MapiDistributionList, wobei Körper und Betreff gesetzt werden.
- Verwenden add_mapi_message_item() um die Verteilerliste zum Kontakte‑Ordner hinzuzufügen.
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);
Verteilerlisten aus PST‑Dateien lesen
Das folgende Code‑Snippet zeigt, wie man eine Verteilerliste aus einer PST‑Datei liest:
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()
Verteilerlisten in Outlook‑PST‑Dateien aktualisieren
Um eine Verteilerliste in einer PST‑Datei zu aktualisieren, z. B. ein neues Mitglied hinzuzufügen, verwenden Sie das folgende Codebeispiel:
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)
