2014-05-05 68 views
0

我有一段Java代碼,它遞歸地從pst文件中提取記錄。雖然,我可以提取具有ole附件的電子郵件,並可以訪問附件的二進制值。我不知道如何將二進制值轉換爲我可以附加到MIME消息的東西。在PST文件中處理OLE附件

回答

0

OLE附件(IStorage)包含的數據格式只能由創建該對象的COM服務器(如Word或Excel)理解。 Outlook對象模型不允許保存那樣的附件。我也不認爲你可以通過Java中的IAttach :: OpenProperty(PR_ATTACH_DATA_OBJ,...)訪問IStorage對象。

您可以看到該附件數據OutlookSpy - 選擇信息時,點擊即時聊天按鈕,進入GetAttachmentTable選項卡上,雙擊附件,選擇PR_ATTACH_DATA_OBJ屬性,點擊右鍵,IMAPIProp :: OpenProperty,選擇的IStorage接口 - 您將看到IStorage對象及其流。您可以嘗試使用Redemption - 其RDOAttachment.SaveAsFile方法可提取位圖(BMP),Windows元文件(WMF/EMF),Excel,Word,PowerPoint,寫字板和Adobe PDF文件格式的數據。

+0

謝謝 - 我使用apache POI來探索附加的數據。奇怪的是,如果OLE附件有一個CONTENT條目,那麼我可以提取條目中的位並將其附加到html電子郵件並顯示爲圖片。如果它沒有CONTENT,那麼我無法做任何事情。是否沒有指導將OLE附件添加到HTML電子郵件? – hba

+0

我不認爲有任何指導方針 - 無論如何,您需要從IStorage中提取實際數據。你如何做到這一點取決於特定的對象。 –