Outlook MAPI 속성 액세스 및 관리
MAPI properties는 Microsoft Outlook 메시지에서 사용되는 메타데이터 항목으로, 발신자, 수신자, 제목, 첨부 파일 및 사용자 정의 데이터와 같은 속성을 정의합니다.
**Aspose.Email for C++**은 개발자가 프로그래밍 방식으로 이러한 속성에 접근, 수정 및 제거할 수 있도록 합니다. MapiMessage 객체, 첨부 파일 및 명명된 속성.
다음은 MapiProperty 클래스는 다음을 포함하는 MAPI 속성을 나타냅니다:
- Name – 속성의 문자열 식별자입니다.
- Tag – 속성을 참조하는 데 사용되는 숫자 식별자입니다.
- Data – 속성 값을 나타내는 바이트 배열입니다.
MAPI 속성 읽기
Aspose.Email를 사용하면 속성 태그를 통해 MAPI 속성을 읽을 수 있습니다.
다음 코드 샘플은 MAPI 메시지 파일(.msg)에서 제목 속성을 읽고 표시하는 방법을 보여줍니다.
- Outlook 메시지 파일이 저장된 디렉터리 경로를 가져옵니다.
- Outlook 메시지 파일("message.msg")을 다음에 로드합니다: MapiMessage 객체.
- 메시지에서 MAPI 속성 컬렉션에 접근합니다.
- 다음으로 제목 속성을 검색해 보세요:
PR_SUBJECT (ANSI)태그. - ANSI 제목 속성을 찾을 수 없으면, 다음을 사용해 Unicode 제목 속성을 검색해 보세요:
PR_SUBJECT_W. - 제목 속성이 존재하면, 해당 문자열 값을 콘솔에 출력합니다.
MAPI 속성 설정
MAPI 속성은 메시지 또는 수신자에 대해 설정하여 사용자 정의 속성, 이메일 유형 또는 동기화 상태를 정의할 수 있습니다.
다음 코드 샘플은 MAPI 메시지를 생성하고, 발신자 및 수신자 세부 정보, 메시지 플래그 및 수정 시간을 포함한 여러 사용자 정의 MAPI 속성을 설정한 다음, 메시지를 파일에 저장하는 방법을 보여줍니다.
Note: ConvertDateTime() 도우미는 System::DateTime을 MAPI 호환 파일시간 바이트 배열로 변환하여 날짜/시간 속성에 다음과 같이 사용합니다:
int64_t filetime = t.ToFileTime();
System::ArrayPtr<uint8_t> d = System::MakeArray<uint8_t>(8, 0);
d[0] = (uint8_t)(filetime & 0xFF);
d[1] = (uint8_t)((filetime & 0xFF00) >> 8);
d[2] = (uint8_t)((filetime & 0xFF0000) >> 16);
d[3] = (uint8_t)((filetime & 0xFF000000) >> 24);
d[4] = (uint8_t)((filetime & 0xFF00000000) >> 32);
d[5] = (uint8_t)((filetime & 0xFF0000000000) >> 40);
d[6] = (uint8_t)((filetime & 0xFF000000000000) >> 48);
d[7] = (uint8_t)(((uint64_t)filetime & 0xFF00000000000000) >> 56);
명명된 MAPI 속성 읽기
Named MAPI properties는 사용자 또는 애플리케이션에서 추가한 사용자 정의 속성입니다.
Aspose.Email은 메시지와 첨부 파일에서 이러한 속성을 읽을 수 있도록 합니다.
MSG 파일에서 명명된 MAPI 속성 읽기
다음 코드 샘플은 MAPI 메시지 파일을 로드하고, 해당 파일의 모든 명명된 MAPI 속성을 가져온 다음, 이를 반복하여 특정 명명된 속성("TEST" 및 "MYPROP")의 값을 찾아 표시하는 방법을 보여줍니다. 속성 컬렉션을 열거하고 이름 식별자를 기반으로 조건부 처리함으로써 MAPI 메시지에서 사용자 정의 또는 확장 속성에 접근하는 방법을 나타냅니다.
첨부 파일에서 명명된 MAPI 속성에 접근하기
첨부 파일의 명명된 MAPI 속성도 유사하게 가져올 수 있습니다:
MAPI 속성 제거
아래 코드 샘플에 표시된 대로 메시지 또는 첨부 파일에서 표준 및 명명된 MAPI 속성을 모두 제거할 수 있습니다: