クラス InternetHeaders
Header オブジェクトとして抽出できます。このクラスは、主にサービスプロバイダーを対象としています。MimeMessage および MimeBody は、ヘッダーを保持するためにこのクラスを使用します。
RFC822 および MIME ヘッダーに関する注意
RFC822 および MIME ヘッダーフィールドに は、US-ASCII 文字のみを含める必要があります。ヘッダーに US-ASCII 以外の文字が含まれている場合は、RFC 2047 の規則に従ってエンコードする必要があります。このパッケージで提供されている MimeUtility クラスを使用して、これを実現できます。setHeader、addHeader、addHeaderLine メソッドの呼び出し元は、指定されたヘッダーの MIME 要件を適用する責任があります。さらに、これらのヘッダーフィールドは、トランスポートの行長制限(SMTP の場合は 1000 バイト)を超える場合は、送信する前に折りたたむ(折り返す)必要があります。受信したヘッダーが折りたたまれている可能性があります。アプリケーションは、必要に応じてヘッダーを折りたたんだり展開したりする責任があります。
現在の実装はシステムプロパティ mail.mime.ignorewhitespacelines をサポートしています。これを true に設定すると、空白のみを含む行がヘッダーを終了する空白行と見なされます。
- 作成者:
- John Mani, Bill Shannon
- 関連事項:
ネストされたクラスの概要
ネストされたクラスフィールドのサマリー
フィールドコンストラクター概要
コンストラクターコンストラクター説明空の InternetHeaders オブジェクトを作成します。ヘッダーと本文を区切る空白行まで、指定された RFC822 メッセージストリームを読み取って解析します。InternetHeaders(InputStreamSE is, boolean allowutf8) ヘッダーと本文を区切る空白行まで、指定された RFC822 メッセージストリームを読み取って解析します。方法の概要
修飾子と型メソッド説明void指定した名前と値のヘッダーをヘッダーリストに追加します。voidaddHeaderLine(StringSE line) RFC822 ヘッダー行をヘッダーストアに追加します。すべてのヘッダー行を文字列の列挙として返します。すべてのヘッダーをHeaderオブジェクトの列挙として返します。StringSE[]指定されたヘッダーのすべての値を返します。このヘッダー名のすべてのヘッダーを取得します。ヘッダーは区切り文字で区切られ、単一の文字列として返されます。getMatchingHeaderLines(StringSE[] names) 一致するすべてのヘッダー行を文字列の列挙として返します。getMatchingHeaders(StringSE[] names) 一致するすべてのHeaderオブジェクトを返します。getNonMatchingHeaderLines(StringSE[] names) 一致しないすべてのヘッダー行を返すgetNonMatchingHeaders(StringSE[] names) 一致しないすべてのHeaderオブジェクトを返します。voidload(InputStreamSE is) ヘッダーと本文を区切る空白行まで、指定された RFC822 メッセージストリームを読み取って解析します。voidload(InputStreamSE is, boolean allowutf8) ヘッダーと本文を区切る空白行まで、指定された RFC822 メッセージストリームを読み取って解析します。voidremoveHeader(StringSE name) 指定された名前に一致するすべてのヘッダーエントリを削除しますvoid名前に一致する最初のヘッダー行を値に変更し、既存のヘッダーが一致しない場合は新しいヘッダーを追加します。
フィールドの詳細
headers
プレースホルダーエントリを含む、ヘッダーの実際のリスト。プレースホルダーエントリは null 値のヘッダーであり、InternetHeaders クラスのクライアントには表示されません。プレースホルダーエントリは、ヘッダーの優先順位を追跡するために使用されます。ヘッダーは実際にはリストから削除されることはなく、プレースホルダーエントリに変換されます。新しいヘッダーは、同じ名前の既存のヘッダーの後に追加されます(ReceivedおよびReturn-Pathヘッダーの場合はその前に追加されます)。既存のヘッダーまたはヘッダーのプレースホルダーが見つからない場合、":" という名前の特別なプレースホルダーの後に新しいヘッダーが追加されます。- 導入:
- JavaMail 1.4
コンストラクターの詳細
InternetHeaders
public InternetHeaders()空の InternetHeaders オブジェクトを作成します。ヘッダーの優先順位を示すためにプレースホルダーエントリが挿入されます。InternetHeaders
ヘッダーと本文を区切る空白行まで、指定された RFC822 メッセージストリームを読み取って解析します。入力ストリームは本文の先頭に配置されたままになります。ヘッダー行は内部に保存されます。効率を上げるために、BufferedInputStream を実際の入力ストリームにラップし、それをパラメーターとして渡します。
プレースホルダーエントリは挿入されません。ヘッダーの元の順序は保持されます。
- パラメーター:
is- RFC822 入力ストリーム- 例外:
MessagingException- ストリームを読み取る I/O エラーの場合
InternetHeaders
ヘッダーと本文を区切る空白行まで、指定された RFC822 メッセージストリームを読み取って解析します。入力ストリームは本文の先頭に配置されたままになります。ヘッダー行は内部に保存されます。効率を上げるために、BufferedInputStream を実際の入力ストリームにラップし、それをパラメーターとして渡します。
プレースホルダーエントリは挿入されません。ヘッダーの元の順序は保持されます。
- パラメーター:
is- RFC822 入力ストリームallowutf8- UTF-8 でエンコードされたヘッダーが許可されている場合- 例外:
MessagingException- ストリームを読み取る I/O エラーの場合- 導入:
- JavaMail 1.6
メソッドの詳細
load
指定された RFC822 メッセージストリームを読み取り、ヘッダーと本文を区切る空白行まで解析します。この InternetHeaders オブジェクト内にヘッダー行を格納します。ヘッダー行の順序は保持されます。ヘッダー行はこの InternetHeaders オブジェクトに追加されるため、このオブジェクトの既存のヘッダーは影響を受けないことに注意してください。ヘッダーは、既存のヘッダーリストの最後に順番に追加されます。
- パラメーター:
is- RFC822 入力ストリーム- 例外:
MessagingException- ストリームを読み取る I/O エラーの場合
load
指定された RFC822 メッセージストリームを読み取り、ヘッダーと本文を区切る空白行まで解析します。この InternetHeaders オブジェクト内にヘッダー行を格納します。ヘッダー行の順序は保持されます。ヘッダー行はこの InternetHeaders オブジェクトに追加されるため、このオブジェクトの既存のヘッダーは影響を受けないことに注意してください。ヘッダーは、既存のヘッダーリストの最後に順番に追加されます。
- パラメーター:
is- RFC822 入力ストリームallowutf8- UTF-8 でエンコードされたヘッダーが許可されている場合- 例外:
MessagingException- ストリームを読み取る I/O エラーの場合- 導入:
- JavaMail 1.6
getHeader
指定されたヘッダーのすべての値を返します。値は String オブジェクトです。指定された名前のヘッダーが存在しない場合、nullを返します。- パラメーター:
name- ヘッダー名- 戻り値:
- ヘッダー値の配列、またはない場合は null
getHeader
このヘッダー名のすべてのヘッダーを取得します。ヘッダーは区切り文字で区切られ、単一の文字列として返されます。区切り文字がnullの場合、最初のヘッダーのみが返されます。指定された名前のヘッダーが存在しない場合、nullを返します。- パラメーター:
delimiter- デリミタname- ヘッダー名- 戻り値:
- この名前のすべてのヘッダーの値フィールド、またはない場合は null
setHeader
名前に一致する最初のヘッダー行を値を持つように変更し、既存のヘッダーに一致しない場合は新しいヘッダーを追加します。最初のヘッダーを除くすべての一致するヘッダーを削除します。RFC822 ヘッダーには US-ASCII 文字のみを含めることができることに注意してください
- パラメーター:
name- ヘッダー名value- ヘッダー値
addHeader
指定した名前と値のヘッダーをヘッダーリストに追加します。現在の実装は、最もよく知られているヘッダーの優先順序を認識しており、その順序でヘッダーを挿入します。さらに、
Receivedヘッダーは逆の順序(新しいものから古いものへ)で挿入する必要があり、ヘッダーの先頭に表示する必要があり、その前に可能なReturn-Pathヘッダーのみが表示される必要があることを認識しています。RFC822 ヘッダーには、US-ASCII 文字のみを含めることができることに注意してください。
- パラメーター:
name- ヘッダー名value- ヘッダー値
removeHeader
指定された名前に一致するすべてのヘッダーエントリを削除します- パラメーター:
name- ヘッダー名
getAllHeaders
すべてのヘッダーをHeaderオブジェクトの列挙として返します。- 戻り値:
- ヘッダーオブジェクトの列挙
getMatchingHeaders
一致するすべてのHeaderオブジェクトを返します。- パラメーター:
names- 返すヘッダー- 戻り値:
- 一致するヘッダーオブジェクトの列挙
getNonMatchingHeaders
一致しないすべてのHeaderオブジェクトを返します。- パラメーター:
names- 返さないヘッダー- 戻り値:
- 一致しないヘッダーオブジェクトの列挙
addHeaderLine
RFC822 ヘッダー行をヘッダーストアに追加します。行がスペースまたはタブ(継続行)で始まる場合は、リストの最後のヘッダー行に追加します。それ以外の場合は、新しいヘッダー行をリストに追加します。RFC822 ヘッダーには US-ASCII 文字のみを含めることができることに注意してください
- パラメーター:
line- 生の RFC822 ヘッダー行
getAllHeaderLines
すべてのヘッダー行を文字列の列挙として返します。- 戻り値:
- すべてのヘッダー行の文字列の列挙
getMatchingHeaderLines
一致するすべてのヘッダー行を文字列の列挙として返します。- パラメーター:
names- 返すヘッダー- 戻り値:
- 一致するすべてのヘッダー行の文字列の列挙
getNonMatchingHeaderLines
一致しないすべてのヘッダー行を返す- パラメーター:
names- 返さないヘッダー- 戻り値:
- 一致しないすべてのヘッダー行の文字列の列挙