2012-11-13 3 views
0

좋은 예제 인 CodeProject을 사용하여 .MSG 파일을 읽었지만 대부분이 본문 텍스트없이 다시 나타납니다. 나는 코드를 밟았으며 Outlook 메시지의 속성 키 __substg1.0_1000이 메시지 속성에 존재하지 않기 때문에 (Outlook 스토리지의 GetMapiPropertyFromStreamOrStorage() 메서드) 존재하지 않는다고 생각합니다.Outlook 저장소 예제 .MSG에서 본문을 찾지 못함

이 이메일에서 메일 본문을 읽으려면 대체 속성 키를 찾아야합니까? 그렇다면 무엇입니까? 이 문제를 해결할 다른 방법이 있습니까?

답변

1

저는 컴퓨터 근처에 있지 않습니다. 제 휴대 전화는 컴퓨터와 비슷하지만 이메일이라고 확신합니까? 일정 및 연락처 항목에는 일반적으로 해당 속성이 없습니다.

PidTagBody, PidTagHtmlBody 및 PidTagRtfBody (?)는 모두 본문 정보를 포함 할 수있는 속성입니다. 그러나 HTML 또는 RTF 본문이 있으면 거의 항상 PidTagBody 속성이 채워집니다.

PidTagMessageClass 속성을 검사하여 전자 메일, 메모, 연락처 등을 확인할 수 있습니다. 전자 메일의 값은 "IPM.Note"입니다. 최소한 컴퓨터 근처에 올 때까지이 이름들의 속성 ID를 직접 찾아야합니다.

+0

이 이메일은 모두 내 보낸 내 보낸 전자 메일로 처리하려고 시도하므로 유효하다고 판단됩니다. BodyText와 BodyRTF는 모두 null이므로 둘 다 HTML 일 가능성이 있습니다 ... 속성 ID와 매핑에 대한 조언은 감사하겠습니다. 이것은 내 전문 분야가 아니며 단지 시도하고 이해하려고 탐구하고 있습니다. 왜이 속성들이 null인지. – Liath

+0

@Liath - 바운스 이메일은 Outlook에서 특별한 방법으로 저장됩니다. 그것들은'IPM.Note' 유형도 아닙니다. 첨부 파일로 포함 된 메시지가 있어야합니다. 즉, 원래 보낸 전자 메일입니다. 그러면 BodyText가 생길 것입니다. –

+0

감사합니다. 많은 사람들이 실제로 첨부 파일을 가지고 있습니다.이 특정 파일은 첨부 파일이 아닙니다. 나는 메시지 본문에 자주 부여되는 원본 전자 메일 수신자를 추출하려고합니다. (아직 무엇인지 말할 수 있습니까?) 메시지 텍스트에 RegEx를 사용하고 있습니다. . – Liath

관련 문제