ניהול אנשי קשר של Outlook בקבצי PST
הוסף אנשי קשר של Outlook לקבצי PST
צור קובץ PST חדש והוסף תתי‑תיקיות מציג כיצד ליצור קובץ PST ולהוסיף לו תתי‑תיקיות. עם Aspose.Email ניתן להוסיף MapiContact לתת‑תיקיית אנשי הקשר של קובץ PST שיצרת או טעית. להלן השלבים להוספת MapiContact לקובץ PST:
- צור MapiContact אובייקט.
- הגדר את מאפייני MapiContact כגון שם, מגדר, כתובות דוא"ל, מספרי טלפון, כתובות פיזיות ומידע מקצועי באמצעות קונסטרוקטורים ושיטות שונים.
- צור PST באמצעות ה‑ PersonalStorage.create() שיטה.
- צור תיקייה מוגדרת מראש (Contacts) ברמת השורש של קובץ PST על‑ידי גישה לתיקיית השורש ולאחר מכן קריאה ל‑ add_mapi_message_item() שיטה.
קטע הקוד הבא מראה כיצד ליצור איש קשר MAPI ולאחר מכן להוסיף אותו לתיקיית אנשי הקשר של קובץ PST שנוצר חדש:
שמור אנשי קשר של Outlook קבצי MSG
כדי לגשת למידע אנשי הקשר מקובץ PST של Outlook ולשמור את איש הקשר לדיסק בפורמט MSG, Aspose.Email מספק את PersonalStorage ו‑ MapiContact מחלקות. קטע הקוד למטה מראה כיצד לשחזר את כל פרטי אנשי הקשר מקובץ PST ולשמור אותם לדיסק בפורמט MSG:
- טען את קובץ PST ב‑ PersonalStorage מחלקה.
- עיין בתיקיית אנשי הקשר.
- קבל את תוכן תיקיית אנשי הקשר כדי לקבל את איסוף ההודעות.
- עבור על איסוף ההודעות.
- הפעל את PersonalStorage.extract_message() שיטה לקבלת מידע איש הקשר ב‑ MapiMessage מחלקה.
- הפעל את MapiMessage.save() שיטה לשמירת איש הקשר לדיסק בפורמט MSG.
ייצא אנשי קשר של Outlook קבצי VCF
כדי לגשת למידע אנשי הקשר מקובץ PST של Microsoft Outlook ולשמור את איש הקשר לדיסק בפורמט vCard (VCF), השתמש ב‑ PersonalStorage ו MapiContact מחלקות. הקוד למטה טוען קובץ PST מהדיסק ושומר את כל אנשי הקשר בפורמט vCard (VCF). קבצי VCF ניתנים לשימוש בכל תוכנה אחרת שיכולה לטעון קובץ vCard רגיל. אם תפתח קובץ VCF ב‑Microsoft Outlook, הוא יראה כמו בתצלום המסך שלהלן.
![]() |
|---|
קטע הקוד הבא מראה כיצד לייצא אנשי קשר מ‑Outlook PST לפורמט vCard (VCF):
- השתמש PersonalStorage.from_file כדי לפתוח את קובץ PST.
- גש לתיקיית אנשי הקשר באמצעות ה‑ get_sub_folder.
- לולאה דרך אנשי הקשר:
- השתמש get_contents() כדי לקבל את כל מידע ההודעות בתיקייה.
- לעבור על message_info_collection עם לולאה.
- הוצא כל איש קשר באמצעות pst.extract_message(message_info) ואחסן אותו כפריט הודעת MAPI.
- הדפס את שם ו‑entry ID של כל איש קשר.
- שמור את איש הקשר כקובץ VCF באמצעות 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)
ניהול רשימות תפוצה של Outlook בקבצי PST
ה‑API של Aspose.Email ל‑Python מאפשר ליצור רשימת תפוצה - אוסף של כמה אנשי קשר. ניתן לשמור רשימת תפוצה לדיסק בפורמט MSG של Outlook ולראות/לטפל בה על‑ידי פתיחה ב‑MS Outlook.
צור ושמור רשימות הפצה
קטע הקוד למטה מדגים כיצד ליצור קובץ PST ולהוסיף רשימת תפוצה. הוא כולל גם יצירת אנשי קשר והוספתם לרשימת התפוצה בתוך קובץ PST.
- הגדר פרטי קשר - קבע displayName ו‑email עבור כל איש קשר.
- צור קובץ PST חדש באמצעות PersonalStorage.create() בפורמט UNICODE.
- צור תיקיית אנשי קשר באמצעות create_predefined_folder().
- צור מופע MapiContact אובייקטים עם שם תצוגה ו‑email, ואז הוסף אנשי קשר לתיקייה באמצעות add_mapi_message_item().
- צור חברי רשימת תפוצה על‑ידי יצירת מופע של MapiDistributionListMember עבור כל איש קשר וקובע entry_id באמצעות פענוח base64.
- הוסף חברים ל MapiDistributionListMemberCollection.
- צור רשימת תפוצה על‑ידי יצירת מופע של MapiDistributionList, וקובע את הגוף והנושא.
- השתמש add_mapi_message_item() להוסיף את רשימת התפוצה לתיקיית אנשי הקשר.
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);
קרא רשימות הפצה מקובצי PST
קטע הקוד הבא מראה כיצד לקרוא רשימת תפוצה מקובץ 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()
עדכן רשימות תפוצה בקבצי PST של Outlook
כדי לעדכן רשימת הפצה בקובץ PST, לדוגמה להוסיף חבר חדש, השתמש בדוגמת הקוד הבאה:
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)
