2016-08-04 87 views
0

我正在嘗試從NSF文件讀取電子郵件。我想從電子郵件正文中獲取內嵌圖像。但我作爲一個文本只得到價值從Lotus Notes文檔中獲取HTML正文內容

這是我的示例代碼。

  _lotesNotesSession.ConvertMime = false; 

      nDB  = _lotesNotesSession.GetDatabase(null, path, false); 

      nView = nDB.GetView("$Inbox"); 

      nDoc  = nView.GetFirstDocument(); 

      NotesMIMEEntity nMime = nDoc.GetMIMEEntity("Body"); 

如何獲取電子郵件的HTML正文?

問候; Mayuresh。

回答

0

首先,一個文檔可以有多個主體字段,你可能沒有得到與其中的圖像領域。另外,圖像可以被存儲爲MIME(文本)。如果不是,您需要在文檔的其他地方查找圖像並使用這些圖像。它們可以作爲嵌入對象或$ File字段。

1

您需要閱讀NotesMIMEEntity class的文檔。一個MIME實體可能有孩子和兄弟實體,其中包括圖像。您將不得不編寫檢查ContentType和ContentSubType屬性的代碼,以確定它是否具有子對象(即multipart),然後使用getFirstChildEntity,getNextSibling和getNextEntity方法遍歷實體樹以查找圖像,方法是檢查ContentType和ContentSubType爲每個實體。然後,您將需要檢查包含圖像的實體的Encoding屬性,以確定圖像如何表示,然後使用contentAsText屬性獲取編碼的內容並編寫(或查找)代碼以將文本解碼爲二進制圖像。

+0

對於一些郵件,我沒有得到NotesMimeEntity nMime = nDoc.GetMIMEEntity( 「身體」);返回null – Mayuresh

+0

Notes和Domino處理兩種郵件格式:Notes富文本和MIME。一個簡單的測試方法是檢查hasItem(「$ NoteHasNativeMIME」)。如果消息是富文本,則不能使用MIME類,但可以使用一些技術將消息轉換爲MIME,然後訪問該消息。有關更多信息,請參閱StackOverflow上的此早期問題: http://stackoverflow.com/questions/1880511/how-to-export-rich-text-fields-as-html-from-notes-with-lotusscript –