Outlook PST 파일을 읽고 폴더 및 하위 폴더 정보를 검색합니다.

Aspose.Email for .NET은 Microsoft Outlook PST 파일을 읽기 위한 API를 제공합니다. 디스크 또는 스트림에서 PST 파일을 로드하여 다음 인스턴스에 넣을 수 있습니다: PersonalStorage 클래스는 폴더, 하위 폴더, 메시지와 같은 내용에 대한 상세 정보를 접근하도록 합니다. 또한, API는 PST 폴더에서 메시지를 검색할 때 검색 폴더를 포함하는 기능을 제공합니다.

PST 파일 로드

Outlook PST 파일은 다음 인스턴스에 로드할 수 있습니다: PersonalStorage 클래스. 다음 코드 스니펫은 PST 파일을 로드하는 방법을 보여줍니다.

PST 정보 표시

이후 PST 파일 로드, 파일 표시 이름, 루트 폴더, 하위 폴더 및 메시지 수에 대한 정보를 얻을 수 있습니다. 다음 코드 스니펫은 PST 파일 이름, 폴더 및 폴더별 메시지 수를 표시하는 방법을 보여줍니다:

사용자 생성 폴더만 가져오기

PST/OST 파일에는 사용자가 만든 폴더가 포함될 수 있으며, 이는 모든 표준 IPM 폴더를 제외합니다. Aspose.Email은 해당 클래스의 only_folders_created_by_user 속성을 사용하여 사용자 생성 폴더만 접근하는 기능을 제공합니다. PersonalStorageQueryBuilder 클래스. 이 속성을 True로 설정하면 사용자 생성 폴더만 가져옵니다. 다음 코드 스니펫은 프로젝트에서 only_folders_created_by_user 속성을 사용하는 방법을 보여줍니다:

import aspose.email as ae

pst = ae.storage.pst.PersonalStorage.from_file("my.pst")

query_builder = ae.storage.pst.PersonalStorageQueryBuilder()
query_builder.only_folders_created_by_user.equals(True)

folders = pst.root_folder.get_sub_folders(query_builder.get_query())

for folder in folders:
    print(f"Folder: {folder.display_name}")

사전 정의 폴더 식별

PST 파일 내 폴더가 표준 폴더인지 확인하려면 해당 클래스의 get_predefined_type 메서드를 사용하십시오: FolderInfo 클래스. 사용자 생성 폴더와 달리 표준(또는 사전 정의) 폴더는 Outlook이 이메일 계정을 추가할 때 생성되는 폴더이며, 예를 들어 받은 편지함, 보낸 편지함, 초안, 삭제된 항목, 일정, 작업, 메모 등이 있습니다.

아래 코드 샘플은 프로젝트에서 이 메서드를 사용하는 방법을 보여줍니다. True로 설정하면 최상위 상위 폴더에 대한 사전 정의 유형을 반환합니다. 이는 현재 폴더가 사전 정의된 폴더의 하위 폴더인지 여부를 결정합니다. False로 설정하면 현재 폴더에 대한 사전 정의 유형을 반환합니다.

import aspose.email as ae

pst = ae.storage.pst.PersonalStorage.from_file("my.pst")

folders = pst.root_folder.get_sub_folders()

for folder in folders:
    print(f"Folder: {folder.display_name}")
    print(f"Is predefined: {folder.get_predefined_type(False) != ae.storage.pst.StandardIpmFolder.UNSPECIFIED}")
    print("-----------------------------------")

PersonalStorage에서 RSS 피드 관리

Aspose.Email은 RSS 피드 사전 정의 폴더에 대한 참조를 가져오는 기능을 제공하여 개발자가 Outlook PST 파일에 저장된 RSS 피드에 프로그램matically 액세스하고 조작할 수 있도록 합니다. "RSS 피드 폴더"에 대한 참조를 얻음으로써 개발자는 새 피드 구독, 기존 피드 업데이트 또는 피드에서 정보 추출과 같은 작업을 수행할 수 있습니다.

RssFeeds의 값은 StandardIpmFolder enum은 일반적으로 Outlook PST 파일 내에서 RSS 피드를 저장하도록 설계된 사전 정의된 폴더 유형을 나타냅니다. 이 enum 값을 사용하면 개발자는 프로그램matically "RSS 피드 폴더"를 목표로 하고 상호 작용할 수 있습니다. 다음 코드 샘플은 이 기능을 프로젝트에 구현하는 방법을 보여줍니다:

import aspose.email as ae

pst = ae.storage.pst.PersonalStorage.from_file("my.pst")

rss_folder = pst.get_predefined_folder(ae.storage.pst.StandardIpmFolder.RSS_FEEDS)

RSS 피드 폴더를 추가하려면, 다음 코드 스니펫을 사용하십시오:

import aspose.email as ae

pst = ae.storage.pst.PersonalStorage.from_file("my.pst")

rss_folder = pst.create_predefined_folder("RSS Feeds", ae.storage.pst.StandardIpmFolder.RSS_FEEDS)

검색 가능한 폴더 구문 분석

Aspose.Email은 FolderKind 다양한 종류의 PST 폴더와 작업하기 위한 열거형입니다. NORMAL 폴더 외에도 SEARCH 폴더와 작동합니다. SEARCH 폴더는 특정 검색 기준에 일치하는 모든 이메일 항목을 표시하는 가상 폴더입니다. SEARCH 폴더를 구문 분석하려면 다음 코드 스니펫을 사용하십시오:

import aspose.email as ae

pst = ae.storage.pst.PersonalStorage.from_file("my.pst")

folders = pst.root_folder.get_sub_folders(ae.storage.pst.FolderKind.SEARCH | ae.storage.pst.FolderKind.NORMAL)

# Browse through each folder to display folder name and number of messages
for folder in folders:
    print(f"Folder: {folder.display_name}")
    sub_folders = folder.get_sub_folders(ae.storage.pst.FolderKind.SEARCH | ae.storage.pst.FolderKind.NORMAL)
    for sub_folder in sub_folders:
        print(f"Sub-folder: {folder.display_name}")

상위 폴더 정보 가져오기

다음 코드 스니펫은 부모 폴더 정보를 다음으로부터 가져오는 방법을 보여줍니다: MessageInfo.

경로를 사용한 PST 하위 폴더 검색

경로를 사용하여 PST 하위 폴더를 검색하려면 해당 클래스의 get_sub_folder 메서드를 사용하십시오: FolderInfo 클래스. 디렉터리 또는 파일 시스템 내에서 특정 하위 폴더를 검색합니다.

이 메서드는 다음 매개변수를 사용합니다:

  • name - 가져와야 할 하위 폴더의 이름을 나타냅니다. 메서드가 검색할 하위 폴더의 이름 또는 식별자를 지정하는 데 사용됩니다.

  • ignore_case - 하위 폴더 이름을 비교할 때 대소문자를 무시할지 여부를 결정하는 부울 값입니다. True로 설정하면 메서드는 대소문자를 구분하지 않고 이름을 일치시킵니다(예: "folder"와 "Folder"를 동일하게 취급). False로 설정하면 대소문자를 구분하여 비교합니다.

  • handle_path_separator - 경로 구분자를 하위 폴더 검색 시 처리할지 여부를 지정하는 부울 값입니다. 경로 구분자는 디렉터리 경로에서 폴더를 구분하는 문자이며(예: Windows의 "\" 또는 Unix의 "/"), True로 설정하면 메서드가 경로 구분자를 자동으로 처리하여 올바른 폴더 매칭을 보장합니다. False로 설정하면 경로 구분자를 하위 폴더 이름의 일부로 취급하여 검색 동작이 달라집니다.

다음 코드 샘플은 경로를 사용하여 PST 하위 폴더를 가져오는 방법을 보여줍니다:

import aspose.email as ae

pst = ae.storage.pst.PersonalStorage.from_file("my.pst")

# In this sample, the method will return a ‘Jan’ named folder
# that is located at the Inbox\Reports\ path 
# relative to the root folder.
folder = pst.root_folder.get_sub_folder("Inbox\Reports\Jan", True, True)