2010-06-26 2 views
4

나는 Outlook 전자 메일 메시지를 분석하고 분석 된 정보를 저장하며 나중에 사용자가 특정 기준을 충족하는 메시지를 열 수있는 응용 프로그램을 구축하고 있습니다.고유하고 안정적인 식별자를 사용하여 Outlook 메시지에 액세스하려면 어떻게해야합니까?

각 전자 메일에서 Message-ID를 추출하여 데이터베이스에 저장 한 다음 나중에 Outlook에 메시지 ID를 제공하여 메시지를 열어 줄 것을 요청했습니다. 그러나, 나는 뭔가를 놓치고있는 것처럼 보일 것이다.

Outlook interop API를 통해 EntryID를 얻을 수 있지만 EntryID는 지정된 폴더 (또는 특정 저장소) 내에서만 안정적인 것으로 보장됩니다. 메시지가 다른 폴더로 이동되면 EntryID가 변경 될 수 있습니다. 또한 API는 EntryID로 메시지를 찾을 때 StoreID가 제공되도록 요구합니다. 다시 말하면 상점간에 메시지가 이동하면 그 정보는 유효하지 않을 것입니다.

필자는 위에서 설명한 것과 비슷한 기능을하는 Office 관련 제품을 많이 보았습니다. 상점과 관계없이 Outlook에서 액세스 할 수있는 메시지를 효율적으로 조회하려면 어떻게해야합니까?

현재 나의 백업 계획은 내가 스캔 한 각 Message-ID에 대한 EntryID 및 StoreID 정보를 저장 한 다음 성공할 때까지 주어진 MessageID에 대해 기록한 다양한 EntryID/StoreID 콤보를 시도하는 것입니다 . 그러나 이것은 Outlook이 이미 나를 위해 성취해야 할 방법을 알고 있어야하는 것처럼 보입니다.

감사합니다,

답변

2

-Patrick 그것은해야

"그러나 이것은 Outlook이 이미 나를 위해 수행하는 방법을 알고 있어야 일 것 같다". 그러나 그렇지 않습니다. 적어도 API를 사용할 때 명백한 API를 찾지 못했습니다. 아마 그 이유는 아주 간단합니다. Message-ID는 Outlook 자체에서는 의미가 없으므로 속성으로 저장하는 것이 결코 제품에 구현되지 않았습니다.

이제 가장 분명한 방법은 이미 수행중인 작업을 수행하는 것입니다. Message-ID와 StoreID-EntryID 쌍 간의 연관을 저장합니다. 이렇게하면 저장된 모든 메일 목록을 거치지 않고 원하는 전자 메일에 빠르게 액세스 할 수 있습니다. 이제 Message-ID가 여전히 올바른지 여부를 분명히 확인해야합니다. 그렇지 않은 경우 모든 메일을 반복합니다.

그런데 왜 각 StoreID-EntryID 쌍이 각 Message-ID에 저장되는지 잘 모르겠습니다. 메일이 Outlook에서만 한 번만 저장되므로 Message-ID 당 한 쌍이면 충분합니다. 이 쌍이 더 이상 사용되지 않으면 (메일이 다른 폴더/저장소로 이동 됨) 방금 업데이트됩니다.

참고 : CreationTimeMailItem.SenderEmailAddress 속성에 액세스하는 것이 더 쉽고 빠르지 않습니까? 이러한 속성을 공유하는 두 개의 다른 메일을 보는 것은 이상 할 것입니다. 따라서 Message-ID를 수동으로 추출 할 필요없이 메일을 고유하게 식별 할 수있는 방법입니다.

+0

별도의 데이터베이스에 대한 다른 요구가 이미 있으므로 Message-ID => List 매핑을 저장하는 세부 사항은 다소 임의적입니다. 또한 메일 메시지에는 이미 Message-ID 헤더 값인 GUID가 있습니다. 내 딜레마는 GUID가 주어진 Outlook MailItem 개체를 찾는 확실한 방법이 없다는 것입니다. –

+0

자, 질문을 오해 한 것 같습니다. 그래서 제 대답은 완전히 잘못되었습니다. 나는 그것을 편집했다. 그것이 지금 도움이되기를 바랍니다. –

+0

여러 StoreId/EntryID 쌍을 저장하고 있습니다. 예를 들어 메시지가 이동되는 이벤트를 놓친 경우가 있습니다.예를 들어 서버 쪽의 Exchange 사서함에서 메시지를 이동하는 경우 새 메시지 이벤트 알림의 새 위치에서 메시지를 가져올 것으로 예상되지만 알림을 받을지 여부는 테스트하지 않았습니다. 어디에서 옮겼습니까? 또한 지정된 ID가있는 메시지가 여러 사서함에 복사 될 수 있습니다. 메일 항목은 본질적으로 불변이므로 메시지는 여전히 동일합니다. –

관련 문제