PST 파일에서 Outlook 연락처 관리

Outlook 연락처를 PST 파일에 추가

새 PST 파일 만들기 및 서브 폴더 추가 PST 파일을 생성하고 그 안에 서브 폴더를 포함하는 방법을 보여줍니다. Aspose.Email을 사용하면 생성하거나 로드한 PST 파일의 Contacts 서브 폴더에 MapiContact를 추가할 수 있습니다. 아래는 PST 파일에 MapiContact를 추가하는 단계입니다:

  1. 다음을 생성합니다 MapiContact 객체.
  2. 다양한 생성자와 메서드를 사용하여 이름, 성별, 이메일 주소, 전화 번호, 물리적 주소 및 직업 정보를 포함한 MapiContact 속성을 설정합니다.
  3. 다음을 사용하여 PST를 생성합니다 PersonalStorage.create() 메서드.
  4. 루트 폴더에 접근한 뒤 호출하여 PST 파일 루트에 미리 정의된 폴더(Contacts)를 생성합니다. add_mapi_message_item() 메서드.

다음 코드 스니펫은 MAPI 연락처를 생성하고 이를 새로 만든 PST 파일의 연락처 폴더에 추가하는 방법을 보여줍니다:

Outlook 연락처를 MSG 파일로 저장

Outlook PST 파일에서 연락처 정보를 액세스하고 해당 연락처를 MSG 형식으로 디스크에 저장하기 위해 Aspose.Email은 다음을 제공합니다 PersonalStorage 그리고 MapiContact 클래스들. 아래 코드 스니펫은 PST 파일에서 모든 연락처 정보를 가져와 MSG 형식으로 디스크에 저장하는 방법을 보여줍니다:

  1. PST 파일을 로드합니다 PersonalStorage 클래스.
  2. Contacts 폴더를 탐색합니다.
  3. Contacts 폴더의 내용을 가져와 메시지 컬렉션을 얻습니다.
  4. 메시지 컬렉션을 반복합니다.
  5. 다음을 호출합니다. PersonalStorage.extract_message() 연락처 정보를 얻는 메서드 MapiMessage 클래스.
  6. 다음을 호출합니다. MapiMessage.save() 연락처를 MSG 형식으로 디스크에 저장하는 메서드.

Outlook 연락처를 VCF 파일로 내보내기

Microsoft Outlook PST 파일에서 연락처 정보를 액세스하고 vCard(VCF) 형식으로 디스크에 저장하려면 다음을 사용하십시오 PersonalStorageMapiContact 클래스들. 아래 코드는 디스크에서 PST 파일을 로드하고 모든 연락처를 vCard(VCF) 형식으로 저장합니다. VCF 파일은 표준 vCard 연락처 파일을 로드할 수 있는 다른 프로그램에서도 사용할 수 있습니다. Microsoft Outlook에서 VCF 파일을 열면 아래 스크린샷과 같은 모습이 나타납니다.

todo:image_alt_text

다음 코드 스니펫은 Outlook PST에서 연락처를 vCard(VCF) 형식으로 내보내는 방법을 보여줍니다:

  1. 사용 PersonalStorage.from_file PST 파일을 열기 위해.
  2. 연락처 폴더에 접근합니다 using the get_sub_folder.
  3. 연락처 루프:
  4. 각 연락처를 추출합니다 using pst.extract_message(message_info) 그리고 이를 MAPI 메시지 항목으로 저장합니다.
  5. 각 연락처의 이름과 entry ID를 출력합니다.
  6. 연락처를 VCF 파일로 저장합니다 using 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)

PST 파일에서 Outlook 배포 리스트 관리

Aspose.Email for Python API를 사용하면 다수의 연락처를 포함하는 배포 리스트를 생성할 수 있습니다. 배포 리스트는 Outlook MSG 형식으로 저장될 수 있으며, MS Outlook에서 열어 조회 및 조작할 수 있습니다.

배포 목록 생성 및 저장

아래 코드 스니펫은 PST 파일을 생성하고 배포 리스트를 추가하는 방법을 보여줍니다. 또한 PST 파일 내에서 배포 리스트에 연락처를 생성하고 추가하는 과정도 포함됩니다.

  1. 연락처 세부 정보를 정의합니다 - 각 연락처에 대해 displayName 및 email을 설정합니다.
  2. 다음으로 새 PST 파일을 생성합니다: PersonalStorage.create() UNICODE 형식으로.
  3. Contacts 폴더를 사용하여 생성합니다 create_predefined_folder().
  4. 인스턴스화 MapiContact 표시 이름과 이메일을 가진 객체들을 만들고, 폴더에 연락처를 추가합니다 using add_mapi_message_item().
  5. 인스턴스화하여 배포 리스트 멤버를 생성합니다 MapiDistributionListMember 각 연락처에 대해 entry_id를 base64 디코딩으로 설정합니다.
  6. 멤버를 추가합니다 MapiDistributionListMemberCollection.
  7. 인스턴스화하여 배포 리스트를 생성합니다 MapiDistributionList, 본문과 제목을 설정합니다.
  8. 사용 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()

Outlook 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)

# 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)