
- MAPI 속성의 범주
- 모든 MAPI 속성 나열하기
- 명명 MAPI 속성 나열하기
- 설명자를 통한 속성 검색
- 태그를 통한 속성 검색
- GetProperty 메서드 사용하기
- 사용자 정의 속성 작업하기
이메일 데이터를 프로그래밍 방식으로 관리하는 것은 복잡할 수 있으며, 특히 메시징 응용 프로그램 프로그래밍 인터페이스(MAPI) 속성을 처리할 때 더욱 그렇습니다. 이러한 속성은 메시지, 폴더, 수신자 및 기타 구성 요소와 같은 MAPI 객체와 연결된 속성 또는 메타데이터입니다. 이러한 속성은 이메일의 제목, 발신자의 주소, 이메일이 전송된 날짜 등 객체에 대한 자세한 정보를 제공합니다. MAPI 속성은 이메일 클라이언트 및 기타 메시징 애플리케이션에서 이메일 데이터를 관리하고 조작하는 데 널리 사용됩니다. 이 문서에서는 Aspose.Email for .NET을 사용하여 MAPI 속성에 액세스하고 열거하며 조작하는 다양한 기술을 다룹니다.
C#에서 MAPI 속성을 관리하기 위한 .NET API
Aspose.Email for .NET은 메시징 응용 프로그램 프로그래밍 인터페이스 속성을 처리하기 위한 포괄적인 지원을 제공하며, 개발자가 이메일 데이터를 세부적으로 관리하고 조작할 수 있도록 합니다. 또한, 메시지 처리 및 기타 관련 작업을 위한 강력한 기능을 이메일 애플리케이션에 제공할 수 있는 광범위한 API입니다.
Aspose.Email for .NET을 사용하면 개발자가 정교한 이메일 관리 및 처리 솔루션을 만들 수 있습니다. 라이브러리를 사용하기 시작하려면 Aspose 웹사이트나 NuGet에서 다운로드하여 프로젝트에 통합할 수 있습니다.
MAPI 속성의 범주
프로젝트에 Aspose.Email이 포함되어 있는지 확인하고 시작해 봅시다. MAPI 속성은 세 가지 주요 유형으로 분류할 수 있습니다: 표준 속성, 명명 속성 및 사용자 정의(사용자 정의) 속성. 각 범주는 서로 다른 목적을 제공하며 이메일 데이터를 처리하는 개발자에게 다양한 수준의 유연성과 제어를 제공합니다. 각 유형에 대한 개요는 다음과 같습니다:
표준 속성
MAPI 사양에 의해 정의되며, 미리 정의된 속성 태그를 가지고 있으며 메시징 객체의 표준 속성에 일반적으로 사용됩니다. 예를 들어:
- PR_SUBJECT: 메시지의 제목입니다.
- PR_SENDER_NAME: 발신자의 이름입니다.
- PR_DELIVER_TIME: 원본 메시지가 배달된 날짜 및 시간입니다.
명명 속성
GUID와 문자열 이름 또는 정수 식별자로 식별되며, 이러한 속성은 표준 속성을 넘어 더 구체적인 분류 및 식별을 허용합니다.
사용자 정의(사용자 정의) 속성
개발자가 정의하며, MAPI 객체의 기능을 확장하고 사용자 정의 및 애플리케이션 특정 데이터 처리를 허용합니다.
모든 MAPI 속성 나열하기
메시지의 모든 MAPI 속성을 나열하기 위해, MapiMessage.Load 메서드를 사용하여 메시지를 로드하고 해당 속성을 반복합니다. 아래의 코드 샘플은 MAPI 메시지를 로드하고, 속성을 반복하며, 각 속성에 대한 자세한 정보를 표시하는 방법을 보여줍니다:
- 지정된 경로에서 MAPI 메시지 파일을 로드합니다.
msg.Properties.Values
컬렉션을 반복하여 각 속성에 액세스합니다.- 각 MAPI 속성에 대해 태그, 정규화된 이름 및 데이터 유형을 출력합니다:
- Tag 속성은 MAPI 속성에 대한 고유 식별자를 제공합니다.
- Descriptor.CanonicalName 속성은 속성의 사람이 읽을 수 있는 이름을 제공합니다.
- Descriptor.DataType 속성은 속성의 데이터 유형을 나타냅니다.
명명 MAPI 속성 나열하기
일반 MAPI 속성은 속성 유형 및 속성 식별자로 구성된 16비트 속성 태그로 식별되는 반면, 명명 속성은 GUID와 문자열 이름 또는 정수 식별자의 조합으로 식별됩니다:
- GUID (전역 고유 식별자): 속성 집합이 고유한지 확인하는 고유 식별자입니다. 이 GUID는 일반적으로 개발자가 제공합니다.
- 이름 또는 ID:
- 문자열 이름(대소문자 구분).
- 32비트 정수 식별자.
다음 코드 조각은 Aspose.Email for .NET을 사용하여 메시지의 명명 MAPI 속성을 반복하고 속자 설명자 유형에 따라 자세한 정보를 인쇄하는 방법을 보여줍니다:
- 로드된 MapiMessage 객체의 ‘NamedProperties.Values’ 컬렉션에 액세스하여 모든 명명 MAPI 속성을 가져옵니다.
- 현재 명명 속성의 설명자가 PidNamePropertyDescriptor 유형인지 확인합니다. 그렇다면 설명자를 PidNamePropertyDescriptor로 변환하고, 속성의 GUID, 정규화된 이름 및 데이터 유형을 출력합니다.
- 현재 명명 속성의 설명자가 PidLidPropertyDescriptor 유형인지 확인합니다. 그렇다면 설명자를 PidLidPropertyDescriptor로 변환하고, 속성의 GUID, 정규화된 이름, 긴 ID 및 데이터 유형을 출력합니다.
따라서 우리는 설명자 유형(PidNamePropertyDescriptor
또는 PidLidPropertyDescriptor
)에 따라 PropertySet
, CanonicalName
, DataType
, 및 LongId
와 같은 특정 속성을 인쇄했습니다.
설명자를 통한 속성 검색
설명자를 통한 속성 검색은 전체 속성 컬렉션을 반복하지 않고 특정 MAPI 속성에 액세스하는 간단한 방법입니다. Aspose.Email for .NET은 KnownPropertyList를 사용하여 속성을 검색하는 편리한 방법을 제공합니다. 아래의 코드 샘플은 InternetMessageId와 같은 특정 속성을 검색하고 세부 정보를 인쇄하는 방법을 보여줍니다.
- MapiMessage 객체의 속성 컬렉션에서 InternetMessageId 속성에 액세스합니다.
- 속성이 null이 아닌지 확인하여 메시지에 존재하는지 확인합니다.
- 검색된 속성의 세부 사항: 태그, 정규화된 이름 및 데이터 유형을 인쇄합니다.
- 속성 데이터 유형이 문자열인 경우, GetString 메서드를 사용하여 속성 값을 검색하고 인쇄합니다.
태그를 통한 속성 검색
속성 태그는 MAPI 속성을 고유하게 식별하는 32비트 식별자입니다. 속성 ID와 속성 유형으로 구성됩니다. 속성 태그를 사용하여 MAPI 메시지 내에서 특정 속성에 직접 액세스할 수 있습니다. 아래의 코드 샘플은 PR_HASATTACH와 같은 특정 속성을 검색하고 세부 정보를 인쇄하는 방법을 보여줍니다.
- MapiPropertyTag를 사용하여 MapiMessage 객체의 속성 컬렉션에서 PR_HASATTACH 속성에 직접 액세스합니다.
- 속성이 null이 아닌지 확인하여 메시지에 존재하는지 확인합니다.
- 검색된 속성의 세부 사항: 태그 및 데이터 유형을 인쇄합니다.
- 속성 데이터 유형이 부울인 경우, GetBoolean 메서드를 사용하여 속성 값을 검색하고 메시지에 첨부 파일이 있는지 인쇄합니다.
GetProperty 메서드 사용하기
GetProperty 메서드는 MAPI 메시지에서 정규 및 명명 속성을 검색하는 과정을 간소화합니다. 이 메서드를 사용하면 속성 컬렉션을 수동으로 확인하지 않고 설명자나 태그로 속성에 직접 액세스할 수 있습니다. 아래의 코드 샘플은 특정 MAPI 속성에 접근하기 위해 GetProperty 메서드를 활용하는 방법을 보여줍니다:
- KnownPropertyList 클래스에서 CurrentVersionName 속성에 직접 액세스하기 위해 GetProperty 메서드를 사용합니다.
- 속성이 null이 아닌지 확인하여 메시지에 존재하는지 확인합니다.
- GetString 메서드를 사용하여 속성 값을 검색하고 인쇄합니다.
여기서 GetProperty
는 CurrentVersionName
속성에 직접 액세스하는 데 사용됩니다.
사용자 정의 속성 작업하기
사용자 정의 MAPI 속성은 미리 정의된 MAPI 속성 집합의 일부가 아닌 추가 속성입니다. 애플리케이션 특정 데이터를 보관하기 위해 생성되며, 개발자가 정의합니다. 개발자가 추가 속성을 정의하고 사용할 수 있도록 함으로써, MAPI는 메시징 애플리케이션 내에서 사용자 정의 데이터를 저장하고 관리하는 유연하고 강력한 방법을 제공합니다. 사용자 정의 속성은 명명 속성입니다( GUID 및 문자열 이름 사용). Aspose.Email은 메시지에 정의된 모든 사용자 정의 속성을 가져오는 방법을 소개합니다. 이는 GetCustomProperties 메서드를 사용하여 달성됩니다. 아래의 코드 샘플은 MAPI 메시지에 정의된 모든 사용자 정의 속성을 가져오고 인쇄하는 방법을 보여줍니다:
- GetCustomProperties 메서드를 사용하여 메시지에 정의된 모든 사용자 정의 속성의 컬렉션을 가져옵니다.
- 검색된 컬렉션의 각 사용자 정의 속성을 반복합니다.
- 속성 세부 사항: 태그, 정규화된 이름 및 데이터 유형을 인쇄합니다.
결론
이 문서에서는 Aspose.Email for .NET을 사용하여 MAPI 속성에 액세스하고 열거하며 조작하는 다양한 기술을 탐구했습니다. Aspose.Email은 이러한 속성을 처리하기 위한 포괄적인 지원을 제공하여 개발자가 이메일 데이터를 세부적으로 관리하고 조작할 수 있도록 합니다. 이 라이브러리를 사용함으로써 개발자는 정교한 이메일 관리 및 처리 솔루션을 만들 수 있어, 표준, 명명 및 사용자 정의 속성을 보다 쉽게 작업할 수 있습니다.
또한, Aspose.Email은 포괄적인 문서, 광범위한 API 참조, 다양한 무료 온라인 도구 및 앱을 제공하여 개발 프로세스를 향상시킵니다. 개발자는 커뮤니티 지원과 통찰력을 위해 무료 지원 포럼에 액세스할 수 있으며, Aspose 블로그를 통해 최신 팁과 튜토리얼을 받아볼 수 있습니다. 이러한 리소스는 프로젝트에서 라이브러리의 잠재력을 극대화하는 데 매우 유용합니다.