나는 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이 이미 나를 위해 성취해야 할 방법을 알고 있어야하는 것처럼 보입니다.
감사합니다,
별도의 데이터베이스에 대한 다른 요구가 이미 있으므로 Message-ID => List 매핑을 저장하는 세부 사항은 다소 임의적입니다. 또한 메일 메시지에는 이미 Message-ID 헤더 값인 GUID가 있습니다. 내 딜레마는 GUID가 주어진 Outlook MailItem 개체를 찾는 확실한 방법이 없다는 것입니다. –
자, 질문을 오해 한 것 같습니다. 그래서 제 대답은 완전히 잘못되었습니다. 나는 그것을 편집했다. 그것이 지금 도움이되기를 바랍니다. –
여러 StoreId/EntryID 쌍을 저장하고 있습니다. 예를 들어 메시지가 이동되는 이벤트를 놓친 경우가 있습니다.예를 들어 서버 쪽의 Exchange 사서함에서 메시지를 이동하는 경우 새 메시지 이벤트 알림의 새 위치에서 메시지를 가져올 것으로 예상되지만 알림을 받을지 여부는 테스트하지 않았습니다. 어디에서 옮겼습니까? 또한 지정된 ID가있는 메시지가 여러 사서함에 복사 될 수 있습니다. 메일 항목은 본질적으로 불변이므로 메시지는 여전히 동일합니다. –