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:

  1. Tạo một MapiContact đối tượng.
  2. Đặ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.
  3. Tạo một PST bằng cách sử dụng PersonalStorage.create() phương thức.
  4. 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 PersonalStorageMapiContact 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:

  1. Tải tệp PST trong PersonalStorage lớp.
  2. Duyệt thư mục Contacts.
  3. Lấy nội dung của thư mục Contacts để có bộ sưu tập tin nhắn.
  4. Lặp qua bộ sưu tập tin nhắn.
  5. Gọi PersonalStorage.extract_message() phương thức để lấy thông tin liên hệ trong MapiMessage lớp.
  6. 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 PersonalStorageMapiContact 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.

todo:image_alt_text

Đ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):

  1. Sử dụng PersonalStorage.from_file để mở tệp PST.
  2. Truy cập thư mục Contacts bằng cách sử dụng get_sub_folder.
  3. Lặp Qua Các Liên Hệ:
  4. 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.
  5. In tên và entry ID của mỗi liên hệ.
  6. 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.

  1. Xác định chi tiết liên hệ - đặt displayName và email cho mỗi liên hệ.
  2. Tạo một tệp PST mới bằng cách sử dụng PersonalStorage.create() với định dạng UNICODE.
  3. Tạo thư mục Contacts bằng cách sử dụng create_predefined_folder().
  4. 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().
  5. 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.
  6. Thêm thành viên vào MapiDistributionListMemberCollection.
  7. 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 đề.
  8. 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)