クラス MimeBodyPart
- java.lang.ObjectSE
- 
- jakarta.mail.BodyPart
- 
- jakarta.mail.internet.MimeBodyPart
 
 
- 既知の直属サブクラス
- PreencodedMimeBodyPart
 - public class MimeBodyPart extends BodyPart implements MimePart このクラスは、MIME ボディパーツを表します。- BodyPart抽象クラスと- MimePartインターフェースを実装します。MimeBodyParts は- MimeMultipartオブジェクトに含まれています。- MimeBodyPart は、 - InternetHeadersクラスを使用して、そのボディパーツのヘッダーを解析および格納します。
 RFC 822 および MIME ヘッダーに関する注意- RFC 822 ヘッダーフィールドに は、US-ASCII 文字のみを含める必要があります。MIME では、ASCII 以外の文字をエンコードすることにより、それらの文字を特定のヘッダーの特定の部分に含めることができます。RFC 2047 は、これを行うためのルールを指定しています。このパッケージで提供される MimeUtility クラスを使用して、これを実現できます。 - setHeader、- addHeader、- addHeaderLineメソッドの呼び出し元は、指定されたヘッダーの MIME 要件を適用する責任があります。さらに、これらのヘッダーフィールドは、トランスポートの行長制限(SMTP の場合は 1000 バイト)を超える場合は、送信する前に折りたたむ(折り返す)必要があります。受信したヘッダーが折りたたまれている可能性があります。アプリケーションは、必要に応じてヘッダーを折りたたんだり展開したりする責任があります。- 作成者:
- John Mani, Bill Shannon, Kanwar Oberoi
- 関連事項:
- Part,- MimePart,- MimeUtility
 
- フィールドのサマリー- フィールド - 修飾子と型 - フィールド - 説明 - protected ObjectSE- cachedContentコンテンツがメッセージオブジェクトのマルチパートである場合は、含まれているオブジェクトへの変更が失われないように、ストリームの解析によって初めて作成されたときにコンテンツを保存します。- protected byte[]- contentこの Part のコンテンツのバイトを保持するバイト配列。- protected InputStreamSE- contentStreamこのボディパーツのデータが SharedInputStream インターフェースを実装する InputStream によって提供された場合、- contentStreamはこのボディパーツのコンテンツを表す別のストリームです。- protected DataHandler- dhこの Part のコンテンツを表す DataHandler オブジェクト。- protected InternetHeaders- headersこのボディパーツのすべてのヘッダーを格納する InternetHeaders オブジェクト。- クラス jakarta.mail.BodyPart から継承されたフィールド- parent, streamProvider
 - インターフェース jakarta.mail.Part から継承されたフィールド- ATTACHMENT, INLINE
 
 - コンストラクターの概要- コンストラクター - コンストラクター - 説明 - MimeBodyPart()空の MimeBodyPart オブジェクトが作成されます。- MimeBodyPart(InternetHeaders headers, byte[] content)指定されたヘッダーとコンテンツバイトを使用して MimeBodyPart を構築します。- MimeBodyPart(InputStreamSE is)指定された入力ストリームからデータを読み取って解析することにより、MimeBodyPart を構築します。
 - メソッドのサマリー- すべてのメソッド インスタンスメソッド 具象メソッド - 修飾子と型 - メソッド - 説明 - void- addHeader(StringSE name, StringSE value)この値をこの header_name の既存の値に追加します。- void- addHeaderLine(StringSE line)このボディパーツにヘッダー行を追加します- void- attachFile(FileSE file)指定されたファイルを使用して、このパーツのデータを提供します。- void- attachFile(FileSE file, StringSE contentType, StringSE encoding)指定された Content-Type および Content-Transfer-Encoding で指定されたファイルを使用して、このパーツのデータを提供します。- void- attachFile(StringSE file)指定されたファイルを使用して、このパーツのデータを提供します。- void- attachFile(StringSE file, StringSE contentType, StringSE encoding)指定された Content-Type および Content-Transfer-Encoding で指定されたファイルを使用して、このパーツのデータを提供します。- EnumerationSE<StringSE>- getAllHeaderLines()すべてのヘッダー行を文字列の列挙として取得します。- EnumerationSE<Header>- getAllHeaders()この Message のすべてのヘッダーを、Header オブジェクトの列挙として返します。- ObjectSE- getContent()コンテンツを Java オブジェクトとして返します。- StringSE- getContentID()"Content-ID" ヘッダーフィールドの値を返します。- StringSE[]- getContentLanguage()この MimePart の Content-Language ヘッダーで指定された言語を取得します。- StringSE- getContentMD5()"Content-MD5" ヘッダーフィールドの値を返します。- protected InputStreamSE- getContentStream()コンテンツの生のバイトを生成します。- StringSE- getContentType()RFC 822 "Content-Type" ヘッダーフィールドの値を返します。- DataHandler- getDataHandler()このボディパーツのコンテンツの DataHandler を返します。- StringSE- getDescription()このボディパーツの "Content-Description" ヘッダーフィールドを返します。- StringSE- getDisposition()"Content-Disposition" ヘッダーフィールドから後処理を返します。- StringSE- getEncoding()"Content-Transfer-Encoding" ヘッダーフィールドからコンテンツ転送エンコーディングを返します。- StringSE- getFileName()このボディパーツに関連付けられているファイル名を取得します。- StringSE[]- getHeader(StringSE name)この header_name のすべてのヘッダーを取得します。- StringSE- getHeader(StringSE name, StringSE delimiter)このヘッダー名のすべてのヘッダーを取得します。ヘッダーは区切り文字で区切られ、単一の文字列として返されます。- InputStreamSE- getInputStream()このボディパーツの「コンテンツ」のデコードされた入力ストリームを返します。- int- getLineCount()この Part のコンテンツの行数を返します。- EnumerationSE<StringSE>- getMatchingHeaderLines(StringSE[] names)一致するヘッダー行を文字列の列挙として取得します。- EnumerationSE<Header>- getMatchingHeaders(StringSE[] names)この Message から一致するヘッダーを Header オブジェクトの列挙として返します。- EnumerationSE<StringSE>- getNonMatchingHeaderLines(StringSE[] names)一致しないヘッダー行を文字列の列挙として取得します。- EnumerationSE<Header>- getNonMatchingHeaders(StringSE[] names)このメッセージから一致しないヘッダーをヘッダーオブジェクトの列挙として返します。- InputStreamSE- getRawInputStream()Content-Transfer-Encoding をそのままにして、InputStream を生データに戻します。- int- getSize()この本文部分のコンテンツのサイズをバイト単位で返します。- boolean- isMimeType(StringSE mimeType)これは指定された MIME 型の一部ですか? このメソッドは、- primaryTypeと- subTypeのみを比較します。- void- removeHeader(StringSE name)この名前のすべてのヘッダーを削除します。- void- saveFile(FileSE file)このパーツの内容を指定したファイルに保存します。- void- saveFile(StringSE file)このパーツの内容を指定したファイルに保存します。- void- setContent(Multipart mp)このメソッドは、ボディパーツのコンテンツを Multipart オブジェクトに設定します。- void- setContent(ObjectSE o, StringSE type)このボディパーツのコンテンツを設定するための便利なメソッド。- void- setContentID(StringSE cid)このボディパーツの "Content-ID" ヘッダーフィールドを設定します。- void- setContentLanguage(StringSE[] languages)この MimePart の Content-Language ヘッダーを設定します。- void- setContentMD5(StringSE md5)このボディパーツの "Content-MD5" ヘッダーフィールドを設定します。- void- setDataHandler(DataHandler dh)このメソッドは、このボディパーツのコンテンツを設定するメカニズムを提供します。- void- setDescription(StringSE description)このボディパーツの "Content-Description" ヘッダーフィールドを設定します。- void- setDescription(StringSE description, StringSE charset)このボディパーツの "Content-Description" ヘッダーフィールドを設定します。- void- setDisposition(StringSE disposition)このボディパーツの "Content-Disposition" ヘッダーフィールドで後処理を設定します。- void- setFileName(StringSE filename)可能であれば、このボディパーツに関連付けられたファイル名を設定します。- void- setHeader(StringSE name, StringSE value)この header_name の値を設定します。- void- setText(StringSE text)指定された文字列をこのパーツのコンテンツとして設定する便利なメソッド。MIME 型は "text/plain" です。- void- setText(StringSE text, StringSE charset)指定された文字列をこのパーツのコンテンツとして設定する便利なメソッド。MIME 型は "text/plain" で、指定された文字セットを使用します。- void- setText(StringSE text, StringSE charset, StringSE subtype)指定された String をこのパートのコンテンツとして設定する簡易メソッド。プライマリ MIME 型は「テキスト」で、指定された MIME サブ型を使用します。- protected void- updateHeaders()この本文部分の内容を調べて、適切な MIME ヘッダーを更新してください。- void- writeTo(OutputStreamSE os)本文部分を RFC 822 形式のストリームとして出力します。
 
- フィールドの詳細- dh- protected DataHandler dh この Part のコンテンツを表す DataHandler オブジェクト。
 - content- protected byte[] content この Part のコンテンツのバイトを保持するバイト配列。
 - contentStream- protected InputStreamSE contentStream このボディパーツのデータが SharedInputStream インターフェースを実装する InputStream によって提供された場合、- contentStreamはこのボディパーツのコンテンツを表す別のストリームです。この場合、- contentは null になります。- 導入:
- JavaMail 1.2
 
 - headers- protected InternetHeaders headers このボディパーツのすべてのヘッダーを格納する InternetHeaders オブジェクト。
 - cachedContent- protected ObjectSE cachedContent コンテンツがメッセージオブジェクトのマルチパートである場合は、含まれているオブジェクトへの変更が失われないように、ストリームの解析によって初めて作成されたときにコンテンツを保存します。このフィールドが null でない場合、- getContent()メソッドによって返されます。- getContent()メソッドは、Multipart または MimeMessage オブジェクトを返す場合にこのフィールドを設定します。このフィールドは、- setDataHandler(jakarta.activation.DataHandler)メソッドによってクリアされます。- 導入:
- JavaMail 1.5
 
 
 - コンストラクターの詳細- MimeBodyPart- public MimeBodyPart() 空の MimeBodyPart オブジェクトが作成されます。このボディパートは、マルチパートメッセージを作成するクライアントによって入力される場合があります。
 - MimeBodyPart- public MimeBodyPart(InputStreamSE is) throws MessagingException 指定された入力ストリームからデータを読み取って解析することにより、MimeBodyPart を構築します。パーサーは、指定された入力ストリームの終わりまでデータを消費します。入力ストリームは、有効な MIME ボディパーツの先頭で開始し、そのボディパーツの末尾で終了する必要があります。- ボディパーツを区切る「境界」文字列を入力ストリームに含めてはならないことに注意してください。 MimeMultipart パーサーは、マルチパートストリームから各ボディパーツのバイトを抽出し、区切り文字列なしでこのコンストラクターにフィードすることを目的としています。 - パラメーター:
- is- 身体部分の入力ストリーム
- 例外:
- MessagingException- 失敗
 
 - MimeBodyPart- public MimeBodyPart(InternetHeaders headers, byte[] content) throws MessagingException 指定されたヘッダーとコンテンツバイトを使用して MimeBodyPart を構築します。- プロバイダーによって使用されます。 - パラメーター:
- headers- このパートのヘッダー
- content- このパーツの本体を表すバイト。
- 例外:
- MessagingException- 失敗
 
 
 - メソッドの詳細- getSize- public int getSize() throws MessagingExceptionこの本文部分のコンテンツのサイズをバイト単位で返します。サイズを判別できない場合は -1 を返します。- この数値はコンテンツサイズの正確な測定値ではない場合があり、コンテンツの転送エンコードを考慮に入れる場合と考慮しない場合があることに注意してください。 - この実装は、 - content配列のサイズ(null でない場合)を返します。- contentStreamが null でなく、- availableメソッドが正の数を返す場合、その数をサイズとして返します。それ以外の場合は、-1 を返します。- 次で指定:
-  インターフェース PartのgetSize
- 戻り値:
- バイト単位のサイズ。不明の場合は -1
- 例外:
- MessagingException- 失敗
 
 - getLineCount- public int getLineCount() throws MessagingExceptionこの Part のコンテンツの行数を返します。この数を決定できない場合は -1 を返します。- この数値は、コンテンツの長さの正確な測定値ではない場合があり、コンテンツの転送エンコーディングを考慮に入れる場合と考慮しない場合があることに注意してください。 - この実装は -1 を返します。 - 次で指定:
-  インターフェース PartのgetLineCount
- 戻り値:
- 行数。不明の場合は -1
- 例外:
- MessagingException- 失敗
 
 - getContentType- public StringSE getContentType() throws MessagingException RFC822 の "Content-Type" ヘッダーフィールドの値を返します。これは、このボディパーツのコンテンツのコンテンツ型を表します。この値は null であってはなりません。このフィールドが使用できない場合は、"text/plain" を返す必要があります。- この実装では、 - getHeader(name)を使用して必要なヘッダーフィールドを取得します。- 次で指定:
-  インターフェース PartのgetContentType
- 戻り値:
- このボディパーツのコンテンツ型
- 例外:
- MessagingException- 失敗
- 関連事項:
- DataHandler
 
 - isMimeType- public boolean isMimeType(StringSE mimeType) throws MessagingException これは指定された MIME 型の一部ですか? このメソッドは、- primaryTypeと- subTypeのみを比較します。コンテンツ型のパラメーターは無視されます。- 例: このメソッドは、コンテンツ型 "text/plain" のパーツを "text/plain; charset=foobar" と比較するときに - trueを返します。- mimeTypeの- subTypeが特殊文字 "*" の場合、サブ型は比較中に無視されます。- 次で指定:
-  インターフェース PartのisMimeType
- パラメーター:
- mimeType- テストする MIME 型
- 戻り値:
- このパーツが指定された型である場合は true
- 例外:
- MessagingException- 失敗
 
 - getDisposition- public StringSE getDisposition() throws MessagingException "Content-Disposition" ヘッダーフィールドから後処理を返します。これは、このパーツの性質を表しています。後処理は、部品をユーザーに提示する方法を示します。- Content-Disposition フィールドが使用できない場合、null が返されます。 - この実装では、 - getHeader(name)を使用して必要なヘッダーフィールドを取得します。- 次で指定:
-  インターフェース PartのgetDisposition
- 戻り値:
- このパートの後処理。不明の場合は null
- 例外:
- MessagingException- 失敗
- 関連事項:
- headers
 
 - setDisposition- public void setDisposition(StringSE disposition) throws MessagingException このボディパーツの "Content-Disposition" ヘッダーフィールドで後処理を設定します。後処理が null の場合、既存の "Content-Disposition" ヘッダーフィールドは削除されます。- 次で指定:
-  インターフェース PartのsetDisposition
- パラメーター:
- disposition- このパートの処分
- 例外:
- IllegalWriteException- 基本となる実装が変更をサポートしていない場合
- IllegalStateExceptionSE- このボディパーツが READ_ONLY フォルダーから取得された場合。
- MessagingException- その他の障害の場合
- 関連事項:
- Part.ATTACHMENT,- Part.INLINE,- Part.setFileName(java.lang.String)
 
 - getEncoding- public StringSE getEncoding() throws MessagingException "Content-Transfer-Encoding" ヘッダーフィールドからコンテンツ転送エンコーディングを返します。ヘッダーが利用できない場合、またはその値がない場合は、- nullを返します。- この実装では、 - getHeader(name)を使用して必要なヘッダーフィールドを取得します。- 次で指定:
-  インターフェース MimePartのgetEncoding
- 戻り値:
- content-transfer-encoding
- 例外:
- MessagingException- 失敗
- 関連事項:
- headers
 
 - getContentID- public StringSE getContentID() throws MessagingException "Content-ID" ヘッダーフィールドの値を返します。フィールドが使用できない場合、またはその値が存在しない場合は、- nullを返します。- この実装では、 - getHeader(name)を使用して必要なヘッダーフィールドを取得します。- 次で指定:
-  インターフェース MimePartのgetContentID
- 戻り値:
- コンテンツ ID
- 例外:
- MessagingException- 失敗
 
 - setContentID- public void setContentID(StringSE cid) throws MessagingException このボディパーツの "Content-ID" ヘッダーフィールドを設定します。- cidパラメーターが null の場合、既存の "Content-ID" は削除されます。- パラメーター:
- cid- Content-ID
- 例外:
- IllegalWriteException- 基本となる実装が変更をサポートしていない場合
- IllegalStateExceptionSE- このボディパーツが READ_ONLY フォルダーから取得された場合。
- MessagingException- その他の障害の場合
- 導入:
- JavaMail 1.3
 
 - getContentMD5- public StringSE getContentMD5() throws MessagingException "Content-MD5" ヘッダーフィールドの値を返します。このフィールドが使用できない場合、またはその値が存在しない場合は、- nullを返します。- この実装では、 - getHeader(name)を使用して必要なヘッダーフィールドを取得します。- 次で指定:
-  インターフェース MimePartのgetContentMD5
- 戻り値:
- content-MD5
- 例外:
- MessagingException- 失敗
 
 - setContentMD5- public void setContentMD5(StringSE md5) throws MessagingException このボディパーツの "Content-MD5" ヘッダーフィールドを設定します。- 次で指定:
-  インターフェース MimePartのsetContentMD5
- パラメーター:
- md5- MD5 値
- 例外:
- IllegalWriteException- 基本となる実装が変更をサポートしていない場合
- IllegalStateExceptionSE- このボディパーツが READ_ONLY フォルダーから取得された場合。
- MessagingException
 
 - getContentLanguage- public StringSE[] getContentLanguage() throws MessagingException この MimePart の Content-Language ヘッダーで指定された言語を取得します。Content-Language ヘッダーは RFC 1766 で定義されています。このヘッダーが使用できない場合、またはその値がない場合は、- nullを返します。- この実装では、 - getHeader(name)を使用して必要なヘッダーフィールドを取得します。- 次で指定:
-  インターフェース MimePartのgetContentLanguage
- 戻り値:
- コンテンツ言語文字列の配列
- 例外:
- MessagingException- 失敗
 
 - setContentLanguage- public void setContentLanguage(StringSE[] languages) throws MessagingException この MimePart の Content-Language ヘッダーを設定します。Content-Language ヘッダーは RFC 1766 で定義されています。- 次で指定:
-  インターフェース MimePartのsetContentLanguage
- パラメーター:
- languages- 言語タグの配列
- 例外:
- IllegalWriteException- 基本となる実装が変更をサポートしていない場合
- MessagingException
 
 - getDescription- public StringSE getDescription() throws MessagingException このボディパーツの "Content-Description" ヘッダーフィールドを返します。これは通常、このパートにいくつかの説明情報を関連付けます。このフィールドが使用できない場合、またはその値が存在しない場合は、null を返します。- Content-Description フィールドが RFC 2047 に従ってエンコードされている場合、デコードされ、Unicode に変換されます。デコードまたは変換が失敗した場合、生データはそのまま返されます。 - この実装では、 - getHeader(name)を使用して必要なヘッダーフィールドを取得します。- 次で指定:
-  インターフェース PartのgetDescription
- 戻り値:
- コンテンツの説明
- 例外:
- MessagingException- 失敗
 
 - setDescription- public void setDescription(StringSE description) throws MessagingException このボディパーツの "Content-Description" ヘッダーフィールドを設定します。description パラメーターが- nullの場合、既存の "Content-Description" フィールドは削除されます。- 説明に US-ASCII 以外の文字が含まれている場合、プラットフォームのデフォルトの文字セットを使用してエンコードされます。説明に US-ASCII 文字のみが含まれている場合、エンコードは行われず、そのまま使用されます。 - 文字セットエンコーディングプロセスが失敗した場合、MessagingException がスローされ、MessagingException 内のネストされた例外のチェーンに UnsupportedEncodingException が含まれることに注意してください。 - 次で指定:
-  インターフェース PartのsetDescription
- パラメーター:
- description- コンテンツの説明
- 例外:
- IllegalWriteException- 基本となる実装が変更をサポートしていない場合
- IllegalStateExceptionSE- このボディパーツが READ_ONLY フォルダーから取得された場合。
- MessagingException- さもないと ; 文字セット変換が失敗した場合、UnsupportedEncodingException が例外チェーンに含まれる可能性があります。
 
 - setDescription- public void setDescription(StringSE description, StringSE charset) throws MessagingException このボディパーツの "Content-Description" ヘッダーフィールドを設定します。description パラメーターが- nullの場合、既存の "Content-Description" フィールドは削除されます。- 説明に US-ASCII 以外の文字が含まれている場合は、指定された文字セットを使用してエンコードされます。説明に US-ASCII 文字のみが含まれている場合、エンコードは行われず、そのまま使用されます。 - 文字セットエンコーディングプロセスが失敗した場合、MessagingException がスローされ、MessagingException 内のネストされた例外のチェーンに UnsupportedEncodingException が含まれることに注意してください。 - パラメーター:
- description- 説明
- charset- エンコード用の文字セット
- 例外:
- IllegalWriteException- 基本となる実装が変更をサポートしていない場合
- IllegalStateExceptionSE- このボディパーツが READ_ONLY フォルダーから取得された場合。
- MessagingException- さもないと ; 文字セット変換が失敗した場合、UnsupportedEncodingException が例外チェーンに含まれる可能性があります。
 
 - getFileName- public StringSE getFileName() throws MessagingException このボディパーツに関連付けられているファイル名を取得します。- このボディパーツの "Content-Disposition" ヘッダーフィールドから "filename" パラメーターの値を返します。利用できない場合は、このボディパーツの "Content-Type" ヘッダーフィールドから "name" パラメーターの値を返します。両方が存在しない場合、 - nullを返します。- mail.mime.decodefilenameシステムプロパティが true に設定されている場合、- MimeUtility.decodeTextメソッドを使用してファイル名をデコードします。このようなエンコーディングは MIME 仕様ではサポートされていませんが、多くのメーラーはこの手法を使用して、ファイル名で非 ASCII 文字をサポートしています。このプロパティのデフォルト値は false です。- 次で指定:
-  インターフェース PartのgetFileName
- 戻り値:
- ファイル名
- 例外:
- MessagingException- 失敗
 
 - setFileName- public void setFileName(StringSE filename) throws MessagingException 可能であれば、このボディパーツに関連付けられたファイル名を設定します。- このボディパーツの "Content-Disposition" ヘッダーフィールドの "filename" パラメーターを設定します。古いメーラーとの互換性のために、"Content-Type" ヘッダーの "name" パラメーターも設定されています。 - mail.mime.encodefilenameシステムプロパティが true に設定されている場合、- MimeUtility.encodeTextメソッドを使用してファイル名をエンコードします。このようなエンコーディングは MIME 仕様ではサポートされていませんが、多くのメーラーはこの手法を使用して、ファイル名で非 ASCII 文字をサポートしています。このプロパティのデフォルト値は false です。- 次で指定:
-  インターフェース PartのsetFileName
- パラメーター:
- filename- ファイル名
- 例外:
- IllegalWriteException- 基本となる実装が変更をサポートしていない場合
- IllegalStateExceptionSE- このボディパーツが READ_ONLY フォルダーから取得された場合。
- MessagingException- その他の障害の場合
 
 - getInputStream- public InputStreamSE getInputStream() throws IOExceptionSE, MessagingException このボディパーツの「コンテンツ」のデコードされた入力ストリームを返します。- この実装は、DataHandler から入力ストリームを取得します。つまり、getDataHandler().getInputStream(); を呼び出します。 - 次で指定:
-  インターフェース PartのgetInputStream
- 戻り値:
- InputStream
- 例外:
- IOExceptionSE- これは通常、DataHandler によってスローされます。詳細については、jakarta.activation.DataHandler のドキュメントを参照してください。
- MessagingException- その他の障害の場合
- 関連事項:
- getContentStream(),- DataHandler.getInputStream()
 
 - getContentStream- protected InputStreamSE getContentStream() throws MessagingException コンテンツの生のバイトを生成します。このメソッドは、コンテンツの DataHandler オブジェクトを作成するときに使用されます。Part コンテンツのみに個別の入力ストリームを提供できるサブクラスは、このメソッドをオーバーライドすることができます。- 戻り値:
- 生のバイトを含む InputStream
- 例外:
- MessagingException- 失敗
- 関連事項:
- content,- MimeMessage.getContentStream()
 
 - getRawInputStream- public InputStreamSE getRawInputStream() throws MessagingException Content-Transfer-Encoding をそのままにして、InputStream を生データに戻します。このメソッドは、"Content-Transfer-Encoding" ヘッダーが正しくないか破損している場合に役立ちます。これにより、- getInputStreamメソッドまたは- getContentメソッドが正しいデータを返すことができなくなります。このような場合、アプリケーションはこのメソッドを使用して、生データ自体をデコードしようとすることがあります。- この実装は単に - getContentStreamメソッドを呼び出します。- 戻り値:
- 生のバイトを含む InputStream
- 例外:
- MessagingException- 失敗
- 導入:
- JavaMail 1.2
- 関連事項:
- getInputStream(),- getContentStream()
 
 - getDataHandler- public DataHandler getDataHandler() throws MessagingException このボディパーツのコンテンツの DataHandler を返します。- ここで提供される実装は、MimeMessage の実装と同じように機能します。 - 次で指定:
-  インターフェース PartのgetDataHandler
- 戻り値:
- コンテンツの DataHandler
- 例外:
- MessagingException- 失敗
- 関連事項:
- MimeMessage.getDataHandler()
 
 - getContent- public ObjectSE getContent() throws IOExceptionSE, MessagingException コンテンツを Java オブジェクトとして返します。返されるオブジェクトの型はもちろんコンテンツ自体に依存します。例: text/plain コンテンツのネイティブフォーマットは通常、String オブジェクトです。「マルチパート」コンテンツのネイティブ形式は常にマルチパートサブクラスです。DataHandler システムで認識されないコンテンツ型の場合、入力ストリームがコンテンツとして返されます。- この実装は、DataHandler からコンテンツを取得します。つまり、getDataHandler().getContent(); を呼び出します。コンテンツがマルチパートまたはメッセージオブジェクトであり、ストリームの解析によって作成された場合、コンテンツへの変更が失われないように、オブジェクトはキャッシュされ、後続の呼び出しで返されます。 - 次で指定:
-  インターフェース PartのgetContent
- 戻り値:
- オブジェクト
- 例外:
- IOExceptionSE- これは通常、DataHandler によってスローされます。詳細については、jakarta.activation.DataHandler のドキュメントを参照してください。
- MessagingException- その他の障害の場合
- 関連事項:
- DataHandler.getContent()
 
 - setDataHandler- public void setDataHandler(DataHandler dh) throws MessagingException このメソッドは、このボディパーツのコンテンツを設定するメカニズムを提供します。指定された DataHandler オブジェクトは実際のコンテンツをラップする必要があります。- 次で指定:
-  インターフェース PartのsetDataHandler
- パラメーター:
- dh- コンテンツの DataHandler
- 例外:
- IllegalWriteException- 基本となる実装が変更をサポートしていない場合
- IllegalStateExceptionSE- このボディパーツが READ_ONLY フォルダーから取得された場合。
- MessagingException- その他の障害の場合
 
 - setContent- public void setContent(ObjectSE o, StringSE type) throws MessagingException このボディパーツのコンテンツを設定するための便利なメソッド。- コンテンツは DataHandler オブジェクトにラップされています。これが正しく機能するためには、指定された型の DataContentHandler クラスが Jakarta Mail 実装で使用可能である必要があることに注意してください。つまり、 - setContent(foobar, "application/x-foobar")を実行するには、"application/x-foobar" 用の DataContentHandler をインストールする必要があります。詳細については、Java Activation フレームワークを参照してください。- 次で指定:
-  インターフェース PartのsetContent
- パラメーター:
- o- コンテンツオブジェクト
- type- オブジェクトの MIME 型
- 例外:
- IllegalWriteException- 基本となる実装が既存の値の変更をサポートしていない場合
- IllegalStateExceptionSE- このボディパーツが READ_ONLY フォルダーから取得された場合。
- MessagingException- その他の障害の場合
 
 - setText- public void setText(StringSE text) throws MessagingException 指定された文字列をこのパーツのコンテンツとして設定する便利なメソッド。MIME 型は "text/plain" です。文字列に US-ASCII 以外の文字が含まれている場合は、プラットフォームのデフォルトの文字セットを使用してエンコードされます。文字セットは、"charset" パラメーターの設定にも使用されます。- textが大きい場合、このメソッドはすべての文字をスキャンして、使用する文字セットを決定する必要があるため、パフォーマンスが低下する可能性があることに注意してください。- 文字セットが既知の場合は、文字セットパラメーターを受け取る - setTextメソッドを使用します。- 次で指定:
-  インターフェース MimePartのsetText
- 次で指定:
-  インターフェース PartのsetText
- パラメーター:
- text- 設定するテキストコンテンツ
- 例外:
- MessagingException- エラーが発生した場合
- 関連事項:
- setText(String text, String charset)
 
 - setText- public void setText(StringSE text, StringSE charset) throws MessagingException 指定された文字列をこのパーツのコンテンツとして設定する便利なメソッド。MIME 型は "text/plain" で、指定された文字セットを使用します。指定された Unicode 文字列は、指定された文字セットを使用して文字セットエンコードされます。文字セットは、"charset" パラメーターの設定にも使用されます。- 次で指定:
-  インターフェース MimePartのsetText
- パラメーター:
- text- 設定するテキストコンテンツ
- charset- テキストに使用する文字セット
- 例外:
- MessagingException- エラーが発生した場合
 
 - setText- public void setText(StringSE text, StringSE charset, StringSE subtype) throws MessagingException 指定された文字列をこのパーツのコンテンツとして設定し、プライマリ MIME 型が "text" で指定された MIME サブ型を使用する便利なメソッド。指定された Unicode 文字列は、指定された文字セットを使用して文字セットエンコードされます。文字セットは、"charset" パラメーターの設定にも使用されます。- 次で指定:
-  インターフェース MimePartのsetText
- パラメーター:
- text- 設定するテキストコンテンツ
- charset- テキストに使用する文字セット
- subtype- 使用する MIME サブ型 (例: "html" )
- 例外:
- MessagingException- エラーが発生した場合
- 導入:
- JavaMail 1.4
 
 - setContent- public void setContent(Multipart mp) throws MessagingException このメソッドは、ボディパーツのコンテンツを Multipart オブジェクトに設定します。- 次で指定:
-  インターフェース PartのsetContent
- パラメーター:
- mp- メッセージのコンテンツであるマルチパートオブジェクト
- 例外:
- IllegalWriteException- 基本となる実装が既存の値の変更をサポートしていない場合。
- IllegalStateExceptionSE- このボディパーツが READ_ONLY フォルダーから取得された場合。
- MessagingException- その他の障害の場合
 
 - attachFile- public void attachFile(FileSE file) throws IOExceptionSE, MessagingException 指定されたファイルを使用して、このパーツのデータを提供します。このパーツのファイル名として単純なファイル名が使用され、ファイル内のデータがこのパーツのデータとして使用されます。エンコーディングは、ファイルデータに対して適切に選択されます。このパーツの後処理は- Part.ATTACHMENTに設定されています。- パラメーター:
- file- 添付する File オブジェクト
- 例外:
- IOExceptionSE- ファイルへのアクセスに関連するエラー
- MessagingException- メッセージ関連のエラー
- 導入:
- JavaMail 1.4
 
 - attachFile- public void attachFile(StringSE file) throws IOExceptionSE, MessagingException 指定されたファイルを使用して、このパーツのデータを提供します。このパーツのファイル名として単純なファイル名が使用され、ファイル内のデータがこのパーツのデータとして使用されます。エンコーディングは、ファイルデータに対して適切に選択されます。- パラメーター:
- file- 添付するファイルの名前
- 例外:
- IOExceptionSE- ファイルへのアクセスに関連するエラー
- MessagingException- メッセージ関連のエラー
- 導入:
- JavaMail 1.4
 
 - attachFile- public void attachFile(FileSE file, StringSE contentType, StringSE encoding) throws IOExceptionSE, MessagingException 指定された Content-Type および Content-Transfer-Encoding を持つ指定されたファイルを使用して、このパートのデータを提供します。contentType またはエンコーディングが null の場合、適切な値が選択されます。単純なファイル名がこのパートのファイル名として使用され、ファイル内のデータがこのパートのデータとして使用されます。このパートの配置は- Part.ATTACHMENTに設定されます。- パラメーター:
- file- 添付する File オブジェクト
- contentType- Content-Type、または null
- encoding- Content-Transfer-Encoding、または null
- 例外:
- IOExceptionSE- ファイルへのアクセスに関連するエラー
- MessagingException- メッセージ関連のエラー
- 導入:
- JavaMail 1.5
 
 - attachFile- public void attachFile(StringSE file, StringSE contentType, StringSE encoding) throws IOExceptionSE, MessagingException 指定された Content-Type および Content-Transfer-Encoding を持つ指定されたファイルを使用して、このパートのデータを提供します。contentType またはエンコーディングが null の場合、適切な値が選択されます。単純なファイル名がこのパートのファイル名として使用され、ファイル内のデータがこのパートのデータとして使用されます。このパートの配置は- Part.ATTACHMENTに設定されます。- パラメーター:
- file- ファイルの名前
- contentType- Content-Type、または null
- encoding- Content-Transfer-Encoding、または null
- 例外:
- IOExceptionSE- ファイルへのアクセスに関連するエラー
- MessagingException- メッセージ関連のエラー
- 導入:
- JavaMail 1.5
 
 - saveFile- public void saveFile(FileSE file) throws IOExceptionSE, MessagingException このパーツの内容を指定したファイルに保存します。コンテンツはデコードされ、MIME ヘッダーなしで保存されます。- パラメーター:
- file- 書き込む File オブジェクト
- 例外:
- IOExceptionSE- ファイルへのアクセスに関連するエラー
- MessagingException- メッセージ関連のエラー
- 導入:
- JavaMail 1.4
 
 - saveFile- public void saveFile(StringSE file) throws IOExceptionSE, MessagingException このパーツの内容を指定したファイルに保存します。コンテンツはデコードされ、MIME ヘッダーなしで保存されます。- パラメーター:
- file- 書き込むファイルの名前
- 例外:
- IOExceptionSE- ファイルへのアクセスに関連するエラー
- MessagingException- メッセージ関連のエラー
- 導入:
- JavaMail 1.4
 
 - writeTo- public void writeTo(OutputStreamSE os) throws IOExceptionSE, MessagingException 本文部分を RFC 822 形式のストリームとして出力します。- 次で指定:
-  インターフェース PartのwriteTo
- パラメーター:
- os- 書き込むストリーム
- 例外:
- IOExceptionSE- ストリームへの書き込みでエラーが発生した場合、または jakarta.activation レイヤーによってエラーが生成された場合。
- MessagingException- その他の障害の場合
- 関連事項:
- DataHandler.writeTo(java.io.OutputStream)
 
 - getHeader- public StringSE[] getHeader(StringSE name) throws MessagingException この header_name のすべてのヘッダーを取得します。特定のヘッダーは US-ASCII 以外の文字を含み、デコードする必要がある場合、RFC 2047 に従ってエンコードされる場合があることに注意してください。- 次で指定:
-  インターフェース PartのgetHeader
- パラメーター:
- name- ヘッダーの名前
- 戻り値:
- ヘッダーの配列
- 例外:
- MessagingException- 失敗
- 関連事項:
- MimeUtility
 
 - getHeader- public StringSE getHeader(StringSE name, StringSE delimiter) throws MessagingException このヘッダー名のすべてのヘッダーを取得します。ヘッダーは区切り文字で区切られ、単一の文字列として返されます。区切り文字が- nullの場合、最初のヘッダーのみが返されます。- 次で指定:
-  インターフェース MimePartのgetHeader
- パラメーター:
- name- このヘッダーの名前
- delimiter- 返された文字列のフィールド間の区切り文字
- 戻り値:
- この名前のすべてのヘッダーの値フィールド
- 例外:
- MessagingException- 失敗
 
 - setHeader- public void setHeader(StringSE name, StringSE value) throws MessagingException この header_name の値を設定します。既存のすべてのヘッダー値をこの新しい値で置き換えます。RFC 822 ヘッダーには US-ASCII 文字のみを含める必要があるため、US-ASCII 以外の文字を含むヘッダーは RFC 2047 のルールに従ってエンコードする必要があることに注意してください。- 次で指定:
-  インターフェース PartのsetHeader
- パラメーター:
- name- ヘッダー名
- value- ヘッダー値
- 例外:
- IllegalWriteException- 基本となる実装が既存の値の変更をサポートしていない場合
- MessagingException- その他の障害の場合
- 関連事項:
- MimeUtility
 
 - addHeader- public void addHeader(StringSE name, StringSE value) throws MessagingException この値をこの header_name の既存の値に追加します。RFC 822 ヘッダーには US-ASCII 文字のみを含める必要があるため、US-ASCII 以外の文字を含むヘッダーは RFC 2047 のルールに従ってエンコードする必要があることに注意してください。- 次で指定:
-  インターフェース PartのaddHeader
- パラメーター:
- name- ヘッダー名
- value- ヘッダー値
- 例外:
- IllegalWriteException- 基本となる実装が既存の値の変更をサポートしていない場合
- MessagingException- その他の障害の場合
- 関連事項:
- MimeUtility
 
 - removeHeader- public void removeHeader(StringSE name) throws MessagingException この名前のすべてのヘッダーを削除します。- 次で指定:
-  インターフェース PartのremoveHeader
- パラメーター:
- name- このヘッダーの名前
- 例外:
- IllegalWriteException- 基本となる実装が既存の値の変更をサポートしていない場合
- MessagingException- その他の障害の場合
 
 - getAllHeaders- public EnumerationSE<Header> getAllHeaders() throws MessagingException この Message のすべてのヘッダーを、Header オブジェクトの列挙として返します。- 次で指定:
-  インターフェース PartのgetAllHeaders
- 戻り値:
- Header オブジェクトの列挙
- 例外:
- MessagingException- 失敗
 
 - getMatchingHeaders- public EnumerationSE<Header> getMatchingHeaders(StringSE[] names) throws MessagingException この Message から一致するヘッダーを Header オブジェクトの列挙として返します。- 次で指定:
-  インターフェース PartのgetMatchingHeaders
- パラメーター:
- names- 一致するヘッダー
- 戻り値:
- Header オブジェクトの列挙
- 例外:
- MessagingException- 失敗
 
 - getNonMatchingHeaders- public EnumerationSE<Header> getNonMatchingHeaders(StringSE[] names) throws MessagingException このメッセージから一致しないヘッダーをヘッダーオブジェクトの列挙として返します。- 次で指定:
-  インターフェース PartのgetNonMatchingHeaders
- パラメーター:
- names- 一致しないヘッダー
- 戻り値:
- Header オブジェクトの列挙
- 例外:
- MessagingException- 失敗
 
 - addHeaderLine- public void addHeaderLine(StringSE line) throws MessagingException このボディパーツにヘッダー行を追加します- 次で指定:
-  インターフェース MimePartのaddHeaderLine
- パラメーター:
- line- 追加する行
- 例外:
- IllegalWriteException- 基本となる実装が変更をサポートしていない場合
- MessagingException- その他の障害の場合
 
 - getAllHeaderLines- public EnumerationSE<StringSE> getAllHeaderLines() throws MessagingException すべてのヘッダー行を文字列の列挙として取得します。ヘッダー行は、生の RFC 822 ヘッダー行で、「名前」フィールドと「値」フィールドの両方が含まれています。- 次で指定:
-  インターフェース MimePartのgetAllHeaderLines
- 戻り値:
- 文字列の列挙
- 例外:
- MessagingException- 失敗
 
 - getMatchingHeaderLines- public EnumerationSE<StringSE> getMatchingHeaderLines(StringSE[] names) throws MessagingException 一致するヘッダー行を文字列の列挙として取得します。ヘッダー行は、生の RFC 822 ヘッダー行で、「名前」フィールドと「値」フィールドの両方が含まれています。- 次で指定:
-  インターフェース MimePartのgetMatchingHeaderLines
- パラメーター:
- names- 返すヘッダー
- 戻り値:
- 文字列の列挙
- 例外:
- MessagingException- 失敗
 
 - getNonMatchingHeaderLines- public EnumerationSE<StringSE> getNonMatchingHeaderLines(StringSE[] names) throws MessagingException 一致しないヘッダー行を文字列の列挙として取得します。ヘッダー行は、生の RFC 822 ヘッダー行で、「名前」フィールドと「値」フィールドの両方が含まれています。- 次で指定:
-  インターフェース MimePartのgetNonMatchingHeaderLines
- パラメーター:
- names- 返さないヘッダー
- 戻り値:
- 文字列の列挙
- 例外:
- MessagingException- 失敗
 
 - updateHeaders- protected void updateHeaders() throws MessagingExceptionこの本文部分の内容を調べて、適切な MIME ヘッダーを更新してください。ここで設定される典型的なヘッダーは- Content-Typeと- Content-Transfer-Encodingです。ヘッダーは、次の 2 つの場合に更新する必要があります。
 - メールアプリケーションによって作成されたメッセージは、内部ヘッダーを埋めるために、ある時点でこのメソッドをアクティブにする必要があります。
 - ストアから読み込まれたメッセージは、ストアからすべてのヘッダーを取得しているため、これは必要ありません。ただし、このメッセージが編集可能であり、コンテンツまたはメッセージ構造のいずれかに編集が加えられている場合は、ヘッダーを再同期する必要がある場合があります。
 どちらの場合も、このメソッドは通常- Message.saveChangesメソッドによって呼び出されます。- cachedContentフィールドが null でない場合(つまり、マルチパートまたはメッセージオブジェクトを参照している場合)、そのオブジェクトは新しい DataHandler の設定に使用され、このオブジェクトの作成に使用されたストリームデータはすべて破棄され、- cachedContentフィールドはクリアされます。- 例外:
- MessagingException- 失敗