ניהול רשימות הפצה של Outlook בקבצי PST
רשימת תפוצה היא קבוצה של אנשי קשר שיכולות להיות מנוהלות על ידי תוכנה אוטומטית, המאפשרת למשתמש לשלוח אימיילים למספר נמענים במקביל.
Aspose.Email עבור Python API מאפשר למשתמשים ליצור, לנהל ולשנות רשימות הפצה. זה כולל יצירת ושמירת חברים מהרשימה, קריאת רשימות הפצה, עדכון מאפייני הרשימה ועוד פעולות קשורות.
צור ושמור רשימות הפצה בקבצי PST
הוסף רשימת הפצה עם אנשי קשר קיימים ב‑PST
קטע הקוד למטה מציג כיצד ליצור רשימת הפצה המכילה אנשי קשר שכבר מאוחסנים בקובץ PST.
- צור קובץ PST חדש באמצעות PersonalStorage.create() בפורמט UNICODE.
- צור תיקיית "Contacts" מוגדרת מראש והוסף שני ערכי קשר (Sebastian Wright ו‑Wichert Kroos) לתיקייה זו.
- הוסף אנשי קשר לרשימת ההפצה:
- כל איש קשר מתווסף לרשימת ההפצה כ MapiDistributionListMember.
- entry_id של כל חבר מקושר לאיש הקשר המתאים ב‑PST באמצעות ה‑strEntryId המוצפן.
- צור רשימת הפצה בשם "Contact list" הכוללת את אנשי הקשר שנוספו כחברים, והוסף אותה לקובץ PST.
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)
הוסף רשימת הפצה עם חברים חד‑פעמיים
חברים חד‑פעמיים מתאימים כאשר אנשי הקשר אינם חלק מספר הכתובות של Outlook אך עדיין יש צורך לכלול אותם ברשימת ההפצה. דוגמא הקוד שלהלן מציגה כיצד ליצור רשימת הפצה עם חברים חד‑פעמיים — אנשי קשר שאינם מאוחסנים בקובץ PST.
- צור קובץ PST חדש באמצעות PersonalStorage.create() בפורמט UNICODE.
- במקום לקשר אנשי קשר מה‑PST, הגדר ערכי קשר חדשים (John R. Patrick ו‑Tilly Bates) ישירות כחברים חד‑פעמיים.
- הוסף את החברים החד-פעמיים לרשימת הפצה.
- צור רשימת הפצה בשם "Simple list" והוסף אותה לתיקיית "Contacts" בקובץ PST.
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)
קרא רשימות הפצה מקובצי PST
כדי לקרוא רשימת תפוצה מ-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)
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}")
עדכן רשימות תפוצה בקבצי 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 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)