Java クラス内で MIME エンティティを処理する
MIMEEntity オブジェクトを使用すると、タイプが MIME (Multipurpose Internet Mail Extensions) のアイテムを読み込むことができます。MIME は、8 ビットデータ、文字コードセット、各種の content-type を処理するための方法を定義します。MIME では、メッセージが複数の部分から成り立ち、その各部分が関係しあっているような構造化メッセージも使用できます。
典型的な例は、リッチテキストに変換せずに IBM Notes のメールファイルに送られるインターネットメールメッセージです。
文書の MIME 部分は、MIME_PART 形式のアイテムです。インターネットメールメッセージでは通常、「Body」という名前になります。MIME アイテムには、プログラムから Item、RichTextItem、または MIMEEntity としてアクセスできます。
Document の MIME コンテンツにアクセスするには:
- 最初に Session.setConvertMIME(false) を呼び出し、通常の MIME アイテムからリッチテキストへの変換をオーバーライドします。
- 次に Document.getMIMEEntity を呼び出します。
- または Document.getFirstItem を呼び出し、続けて Item.getMIMEEntity を呼び出します。
- MIME 形式のアイテムを作成するには、Document.createMIMEEntity を呼び出します。
- MIME 処理を終了し、アイテムを直接処理できるようにするには、Document.closeMIMEEntities を呼び出します。
- コードを終了する前に、Session.setConvertMIME(true) を呼び出します (または初期設定に戻します)。
MIME エンティティの各プロパティにアクセスするには、次のメソッドを使用します。
- getBoundaryEnd は、最後の子エンティティの後に続く境界線を含む String 型の値を返します。
- getBoundaryStart は、子エンティティの前に表示される境界線を含む String 型の値を返します。
- getCharset は、MIME エンティティのコンテントのキャラクタセットを含む String 型の値を返します。
- getContentAsText は、MIME エンティティのテキストのコンテントを含む String 型の値を返します。
- getContentSubType は、MIME エンティティのコンテントタイプの sub-type を含む String 型の値を返します。
- getContentType は、MIME エンティティのコンテントタイプを含む String 型の値を返します。
- getEncoding は、MIME エンティティのヘッダー以外のコンテントに対する現在のエンコード方式を返します。
- getHeaderObjects は、MIME エンティティのヘッダーを含む MIMEHeader オブジェクトのベクトルを返します。
- getHeaders は、ヘッダーを含む String 型の値を返します。getSomeHeaders は、指定のヘッダーを返します。
- getPreamble は、マルチパートエントリのプリアンブルを含む String 型の値を返します。setPreamble は、プリアンブルに String 型の値を書き込みます。
次のメソッドは、MIME エンティティのコンテントにアクセスします。
- decodeContent
- encodeContent
- getContentAsBytes
- getContentAsText
- getEntityAsText
- setContentFromBytes
- setContentFromText
次のメソッドは、multipart MIME エンティティを操作します。
- createChildEntity
- createParentEntity
- getFirstChildEntity
- getNextEntity
- getNextSibling
- getParentEntity
- getPrevEntity
- getPrevSibling
remove メソッドはエンティティを削除します。
createHeader と getNthHeader の各メソッドは、MIMEHeader オブジェクト (および HeaderObjects プロパティ) として MIME ヘッダーにアクセスします。
MIMEHeader クラスには、getHeaderName メソッドと remove メソッドが含まれます。また、ヘッダーのコンテントにアクセスするために、次のメソッドが用意されています。