2016-08-04 40 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

まず、ドキュメントには複数のBodyフィールドがあることがあります。イメージにフィールドが含まれていない可能性があります。さらに、イメージはMIME(テキスト)として保存されます。そうでない場合は、ドキュメント内の他の場所のイメージを探し、それらのイメージで作業する必要があります。これらのオブジェクトは、埋め込みオブジェクトまたは$ Fileフィールドにすることができます。

1

NotesMIMEEntity classのドキュメントを読む必要があります。 MIMEエンティティは、画像を含む子エンティティと兄弟エンティティを持つことができます。 ContentTypeとContentSubTypeプロパティを調べて、子(つまり複数パート)があるかどうかを調べるコードを記述し、getFirstChildEntity、getNextSibling、およびgetNextEntityメソッドを使用してContentTypeをチェックしてエンティティのツリーを走査し、各エンティティのContentSubType。次に、イメージの表現方法を決定するためにイメージを含むエンティティのEncodingプロパティを調べ、次にcontentAsTextプロパティを使用してエンコードされたコンテンツを取得し、テキストをバイナリイメージにデコードするコードを書き込む(または見つける)必要があります。私はのNotesMIMEEntity nMime = nDoc.GetMIMEEntity( "ボディ")を取得しておりませんいくつかの電子メールを

+0

。 nullを返します – Mayuresh

+0

NotesとDominoは、NotesリッチテキストとMIMEという2つのメールフォーマットを処理します。テストする簡単な方法は、hasItem( "$ NoteHasNativeMIME")をチェックすることです。メッセージがリッチテキストの場合、MIMEクラスは使用できませんが、メッセージをMIMEに変換してメッセージにアクセスするためのテクニックがあります。詳細については、このStackOverflowの以前の質問をご覧ください。 http://stackoverflow.com/questions/1880511/how-to-export-rich-text-fields-as-html-from-notes-with-lotusscript –

関連する問題