Gestion des contacts Outlook dans les fichiers PST
Ajouter des contacts Outlook aux fichiers PST
Créer un nouveau fichier PST et ajouter des sous‑dossiers décrit comment créer un fichier PST et y inclure des sous‑dossiers. Avec Aspose.Email, vous pouvez ajouter un MapiContact au sous‑dossier Contacts d’un fichier PST que vous avez créé ou chargé. Voici les étapes pour ajouter un MapiContact à un fichier PST :
- Créez un MapiContact objet.
- Définissez les propriétés du MapiContact telles que le nom, le genre, les adresses e‑mail, les numéros de téléphone, les adresses physiques et les informations professionnelles en utilisant différents constructeurs et méthodes.
- Créez un PST en utilisant le PersonalStorage.create() méthode.
- Créez un dossier prédéfini (Contacts) à la racine du fichier PST en accédant au dossier racine puis en appelant le add_mapi_message_item() méthode.
L’extrait de code suivant vous montre comment créer un contact MAPI puis l’ajouter au dossier Contacts d’un fichier PST nouvellement créé :
Enregistrer les contacts Outlook en fichiers MSG
Pour accéder aux informations de contact d’un fichier PST Outlook et enregistrer le contact sur le disque au format MSG, Aspose.Email fournit le PersonalStorage et le MapiContact classes. L’extrait de code ci‑dessous montre comment récupérer toutes les informations de contact d’un fichier PST et les enregistrer sur le disque au format MSG :
- Charger le fichier PST dans le PersonalStorage classe.
- Parcourir le dossier Contacts.
- Obtenir le contenu du dossier Contacts pour obtenir la collection de messages.
- Parcourir la collection de messages.
- Appelez le PersonalStorage.extract_message() méthode pour obtenir les informations du contact dans le MapiMessage classe.
- Appelez le MapiMessage.save() méthode pour enregistrer le contact sur le disque au format MSG.
Exporter les contacts Outlook au format VCF
Pour accéder aux informations de contact d’un fichier PST Microsoft Outlook et enregistrer le contact sur le disque au format vCard (VCF), utilisez le PersonalStorage et MapiContact classes. Le code ci‑dessous charge un fichier PST depuis le disque et enregistre tous les contacts au format vCard (VCF). Les fichiers VCF peuvent ensuite être utilisés dans n’importe quel autre programme qui peut charger le fichier de contact vCard standard. Si vous ouvrez un fichier VCF dans Microsoft Outlook, il ressemble à celui de la capture d’écran ci‑dessous.
![]() |
|---|
L’extrait de code suivant vous montre comment exporter des contacts d’Outlook PST au format vCard (VCF) :
- Utiliser PersonalStorage.from_file pour ouvrir le fichier PST.
- Accédez au dossier Contacts en utilisant le get_sub_folder.
- Parcourir les contacts :
- Utiliser get_contents() pour obtenir toutes les informations de messages dans le dossier.
- Parcourir message_info_collection avec une boucle.
- Extraire chaque contact en utilisant pst.extract_message(message_info) et stockez-le comme un élément de message MAPI.
- Imprimez le nom et l’ID d’entrée de chaque contact.
- Enregistrez le contact au format VCF en utilisant 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)
Gestion des listes de distribution Outlook dans les fichiers PST
L’API Aspose.Email pour Python permet de créer une liste de distribution – une collection de plusieurs contacts. Une liste de distribution peut être enregistrée sur disque au format Outlook MSG et peut être visualisée/manipulée en l’ouvrant dans MS Outlook.
Créer et enregistrer des listes de distribution
L’extrait de code ci‑dessus montre comment créer un fichier PST et ajouter une liste de distribution. Il implique également la création et l’ajout de contacts à la liste de distribution dans le fichier PST.
- Définir les détails du contact - définir displayName et email pour chaque contact.
- Créez un nouveau fichier PST en utilisant PersonalStorage.create() au format UNICODE.
- Créer le dossier Contacts en utilisant create_predefined_folder().
- Instancier MapiContact des objets avec le nom d’affichage et l’e‑mail, puis ajoutez les contacts au dossier en utilisant add_mapi_message_item().
- Créer des membres de liste de distribution en instanciant MapiDistributionListMember pour chaque contact et en définissant entry_id avec le décodage base64.
- Ajouter des membres à MapiDistributionListMemberCollection.
- Créer une liste de distribution en instanciant MapiDistributionList, en définissant son corps et son sujet.
- Utiliser add_mapi_message_item() pour ajouter la liste de distribution au dossier contacts.
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);
Lire les listes de distribution depuis les fichiers PST
L’extrait de code suivant vous montre comment lire une liste de distribution depuis un fichier 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()
Mettre à jour les listes de distribution dans les fichiers PST Outlook
Pour mettre à jour une liste de distribution dans un fichier PST, par exemple pour ajouter un nouveau membre, utilisez l’exemple de code suivant :
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)
