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