Quản lý danh bạ Outlook trong tệp PST
Thêm Liên Hệ Outlook vào Tệp PST
Tạo Tệp PST Mới và Thêm Thư Mục Con trình diễn cách tạo một tệp PST và bao gồm các thư mục con bên trong. Với Aspose.Email, bạn có thể thêm một MapiContact vào thư mục con Contacts của một tệp PST mà bạn đã tạo hoặc tải lên. Dưới đây là các bước để thêm MapiContact vào tệp PST:
- Tạo một MapiContact đối tượng.
- Đặt các thuộc tính của MapiContact như tên, giới tính, địa chỉ email, số điện thoại, địa chỉ thực tế và thông tin nghề nghiệp bằng cách sử dụng các hàm tạo và phương pháp khác nhau.
- Tạo một PST bằng cách sử dụng PersonalStorage.create() phương thức.
- Tạo một thư mục đã định trước (Contacts) tại gốc của tệp PST bằng cách truy cập thư mục gốc và sau đó gọi add_mapi_message_item() phương thức.
Đoạn mã dưới đây cho bạn thấy cách tạo một liên hệ MAPI và sau đó thêm nó vào thư mục Contacts của một tệp PST mới được tạo:
Lưu Liên Hệ Outlook dưới dạng Tệp MSG
Để truy cập thông tin liên hệ từ tệp Outlook PST và lưu liên hệ vào đĩa ở định dạng MSG, Aspose.Email cung cấp PersonalStorage và MapiContact lớp. Đoạn mã dưới đây cho bạn thấy cách lấy tất cả thông tin liên hệ từ tệp PST và lưu nó vào đĩa dưới dạng MSG:
- Tải tệp PST trong PersonalStorage lớp.
- Duyệt thư mục Contacts.
- Lấy nội dung của thư mục Contacts để có bộ sưu tập tin nhắn.
- Lặp qua bộ sưu tập tin nhắn.
- Gọi PersonalStorage.extract_message() phương thức để lấy thông tin liên hệ trong MapiMessage lớp.
- Gọi MapiMessage.save() phương thức để lưu liên hệ vào đĩa ở định dạng MSG.
Xuất Liên Hệ Outlook dưới dạng Tệp VCF
Để truy cập thông tin liên hệ từ tệp Microsoft Outlook PST và lưu liên hệ vào đĩa ở định dạng vCard (VCF), sử dụng PersonalStorage và MapiContact lớp. Đoạn mã dưới đây tải một tệp PST từ đĩa và lưu tất cả các liên hệ sang định dạng vCard (VCF). Các tệp VCF sau đó có thể được sử dụng trong bất kỳ chương trình nào khác có thể tải tệp liên hệ vCard tiêu chuẩn. Nếu bạn mở bất kỳ tệp VCF nào trong Microsoft Outlook, nó sẽ trông giống như hình chụp màn hình dưới đây.
![]() |
|---|
Đoạn mã dưới đây cho bạn thấy cách xuất các liên hệ từ Outlook PST sang định dạng vCard (VCF):
- Sử dụng PersonalStorage.from_file để mở tệp PST.
- Truy cập thư mục Contacts bằng cách sử dụng get_sub_folder.
- Lặp Qua Các Liên Hệ:
- Sử dụng get_contents() để lấy tất cả thông tin tin nhắn trong thư mục.
- Duyệt qua message_info_collection với một vòng lặp.
- Trích xuất mỗi liên hệ bằng cách sử dụng pst.extract_message(message_info) và lưu nó như một mục tin nhắn MAPI.
- In tên và entry ID của mỗi liên hệ.
- Lưu liên hệ dưới dạng tệp VCF bằng cách sử dụng 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)
Quản Lý Danh Sách Phân Phối Outlook trong Tệp PST
API Aspose.Email cho Python cho phép tạo một danh sách phân phối - một tập hợp nhiều liên hệ. Danh sách phân phối có thể được lưu vào đĩa ở định dạng Outlook MSG và có thể được xem/điều chỉnh bằng cách mở nó trong MS Outlook.
Tạo và Lưu Danh sách Phân phối
Đoạn mã dưới đây minh họa cách tạo một tệp PST và thêm một danh sách phân phối. Nó cũng bao gồm việc tạo và thêm các liên hệ vào danh sách phân phối trong tệp PST.
- Xác định chi tiết liên hệ - đặt displayName và email cho mỗi liên hệ.
- Tạo một tệp PST mới bằng cách sử dụng PersonalStorage.create() với định dạng UNICODE.
- Tạo thư mục Contacts bằng cách sử dụng create_predefined_folder().
- Tạo thể hiện MapiContact đối tượng với tên hiển thị và email, sau đó thêm liên hệ vào thư mục bằng cách sử dụng add_mapi_message_item().
- Tạo các thành viên danh sách phân phối bằng cách khởi tạo MapiDistributionListMember cho mỗi liên hệ và thiết lập entry_id bằng giải mã base64.
- Thêm thành viên vào MapiDistributionListMemberCollection.
- Tạo một danh sách phân phối bằng cách khởi tạo MapiDistributionList, thiết lập nội dung và tiêu đề.
- Sử dụng add_mapi_message_item() để thêm danh sách phân phối vào thư mục liên hệ.
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);
Đọc Danh sách Phân phối từ Tệp PST
Đoạn mã dưới đây cho bạn thấy cách đọc một danh sách phân phối từ tệp 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()
Cập Nhật Danh Sách Phân Phối trong Tệp Outlook PST
Để cập nhật một danh sách phân phối trong tệp PST, ví dụ để thêm thành viên mới, hãy sử dụng đoạn mã mẫu sau:
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)
