パッケージ jakarta.mail.internet
クラス InternetAddress
- java.lang.ObjectSE
-
- jakarta.mail.Address
-
- jakarta.mail.internet.InternetAddress
- 実装済みのインターフェース一覧:
SerializableSE,CloneableSE
public class InternetAddress extends Address implements CloneableSE
このクラスは、RFC822 の構文を使用してインターネットのメールアドレスを表します。一般的なアドレス構文は、"user@host.domain" または "PersonalName <user@host.domain>" の形式です。- 作成者:
- Bill Shannon, John Mani
- 関連事項:
- 連載形式
コンストラクター概要
コンストラクター コンストラクター 説明 InternetAddress()デフォルトコンストラクター。InternetAddress(StringSE address)コンストラクター。InternetAddress(StringSE address, boolean strict)指定された文字列を解析し、InternetAddress を作成します。InternetAddress(StringSE address, StringSE personal)住所と個人名を指定して InternetAddress を作成します。InternetAddress(StringSE address, StringSE personal, StringSE charset)住所と個人名を指定して InternetAddress を作成します。
方法の概要
すべてのメソッド 静的メソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 ObjectSEclone()この InternetAddress オブジェクトのコピーを返します。booleanequals(ObjectSE a)等価演算子。StringSEgetAddress()メールアドレスを取得します。InternetAddress[]getGroup(boolean strict)グループアドレスのメンバーを返します。static InternetAddressgetLocalAddress(Session session)現在のユーザーを表す InternetAddress オブジェクトを返します。StringSEgetPersonal()個人名を取得します。StringSEgetType()このアドレスの型を返します。inthashCode()アドレスのハッシュコードを計算します。booleanisGroup()このアドレスが RFC 822 グループアドレスであるかどうかを示します。static InternetAddress[]parse(StringSE addresslist)指定されたコンマ区切りのアドレスシーケンスを InternetAddress オブジェクトに解析します。static InternetAddress[]parse(StringSE addresslist, boolean strict)指定されたアドレスのシーケンスを InternetAddress オブジェクトに解析します。static InternetAddress[]parseHeader(StringSE addresslist, boolean strict)指定されたアドレスのシーケンスを InternetAddress オブジェクトに解析します。voidsetAddress(StringSE address)メールアドレスを設定します。voidsetPersonal(StringSE name)個人名を設定します。voidsetPersonal(StringSE name, StringSE charset)個人名を設定します。StringSEtoString()このアドレスを RFC 822/RFC 2047 エンコードされたアドレスに変換します。static StringSEtoString(Address[] addresses)InternetAddress オブジェクトの指定された配列をアドレス文字列のコンマ区切りのシーケンスに変換します。static StringSEtoString(Address[] addresses, int used)InternetAddress オブジェクトの指定された配列をアドレス文字列のコンマ区切りのシーケンスに変換します。StringSEtoUnicodeString()Unicode 文字の適切にフォーマットされたアドレス(RFC 822 構文)を返します。static StringSEtoUnicodeString(Address[] addresses)InternetAddress オブジェクトの指定された配列をアドレス文字列のコンマ区切りのシーケンスに変換します。static StringSEtoUnicodeString(Address[] addresses, int used)InternetAddress オブジェクトの指定された配列をアドレス文字列のコンマ区切りのシーケンスに変換します。voidvalidate()このアドレスが RFC 822 の構文規則に準拠していることを確認してください。
コンストラクターの詳細
InternetAddress
public InternetAddress()
デフォルトコンストラクター。
InternetAddress
public InternetAddress(StringSE address) throws AddressException
コンストラクター。指定された文字列を解析し、InternetAddress を作成します。解析の詳細については、
parseメソッドを参照してください。アドレスは、「厳密な」解析を使用して解析されます。このコンストラクターは、strictがtrueの場合にInternetAddress(String address, boolean strict)コンストラクターが行う追加の構文チェックを実行しません。このコンストラクターはInternetAddress(address, false)と同等です。- パラメーター:
address- RFC822 形式のアドレス- 例外:
AddressException- 解析が失敗した場合
InternetAddress
public InternetAddress(StringSE address, boolean strict) throws AddressException
指定された文字列を解析し、InternetAddress を作成します。strictが false の場合、アドレスの詳細な構文はチェックされません。- パラメーター:
address- RFC822 形式のアドレスstrict- RFC822 構文を適用する- 例外:
AddressException- 解析が失敗した場合- 導入:
- JavaMail 1.3
InternetAddress
public InternetAddress(StringSE address, StringSE personal) throws UnsupportedEncodingExceptionSE
住所と個人名を指定して InternetAddress を作成します。このアドレスは、構文的に有効な RFC822 アドレスであると想定されています。- パラメーター:
address- RFC822 形式のアドレスpersonal- 個人名- 例外:
UnsupportedEncodingExceptionSE- 個人名を指定された文字セットでエンコードできない場合
InternetAddress
public InternetAddress(StringSE address, StringSE personal, StringSE charset) throws UnsupportedEncodingExceptionSE
住所と個人名を指定して InternetAddress を作成します。このアドレスは、構文的に有効な RFC822 アドレスであると想定されています。- パラメーター:
address- RFC822 形式のアドレスpersonal- 個人名charset- 名前の MIME 文字セット- 例外:
UnsupportedEncodingExceptionSE- 個人名を指定された文字セットでエンコードできない場合
メソッドの詳細
clone
public ObjectSE clone()
この InternetAddress オブジェクトのコピーを返します。
getType
public StringSE getType()
このアドレスの型を返します。InternetAddress の型は "rfc822" です。- 次で指定:
- クラス
AddressのgetType - 戻り値:
- アドレス型
- 関連事項:
InternetAddress
setAddress
public void setAddress(StringSE address)
メールアドレスを設定します。- パラメーター:
address- Email アドレス
setPersonal
public void setPersonal(StringSE name, StringSE charset) throws UnsupportedEncodingExceptionSE
個人名を設定します。名前に US-ASCII 以外の文字が含まれている場合、名前は RFC 2047 に従って指定された文字セットを使用してエンコードされます。名前に US-ASCII 文字のみが含まれている場合、エンコードは行われず、名前がそのまま使用されます。- パラメーター:
name- 個人名charset- RFC 2047 に従って名前をエンコードするために使用される MIME 文字セット- 例外:
UnsupportedEncodingExceptionSE- 文字セットエンコーディングが失敗した場合。- 関連事項:
setPersonal(String)
setPersonal
public void setPersonal(StringSE name) throws UnsupportedEncodingExceptionSE
個人名を設定します。名前に US-ASCII 以外の文字が含まれている場合、名前はプラットフォームのデフォルトの文字セットを使用してエンコードされます。名前に US-ASCII 文字のみが含まれている場合、エンコードは行われず、名前がそのまま使用されます。- パラメーター:
name- 個人名- 例外:
UnsupportedEncodingExceptionSE- 文字セットエンコーディングが失敗した場合。- 関連事項:
setPersonal(String name, String charset)
getAddress
public StringSE getAddress()
メールアドレスを取得します。- 戻り値:
- Email アドレス
getPersonal
public StringSE getPersonal()
個人名を取得します。名前が RFC 2047 に従ってエンコードされている場合、デコードされ、Unicode に変換されます。デコードまたは変換が失敗した場合、生データはそのまま返されます。- 戻り値:
- 個人名
toString
public StringSE toString()
このアドレスを RFC 822/RFC 2047 エンコードされたアドレスに変換します。結果の文字列には US-ASCII 文字のみが含まれるため、メールセーフです。
toUnicodeString
public StringSE toUnicodeString()
Unicode 文字の適切にフォーマットされたアドレス(RFC 822 構文)を返します。- 戻り値:
- Unicode アドレス文字列
- 導入:
- JavaMail 1.2
toString
public static StringSE toString(Address[] addresses)
InternetAddress オブジェクトの指定された配列をアドレス文字列のコンマ区切りのシーケンスに変換します。結果の文字列には US-ASCII 文字のみが含まれるため、メールセーフです。- パラメーター:
addresses- InternetAddress オブジェクトの配列- 戻り値:
- アドレスのカンマ区切りの文字列
- 例外:
ClassCastExceptionSE- 指定された配列内のいずれかのアドレスオブジェクトが InternetAddress オブジェクトではない場合。これは RuntimeException であることに注意してください。
toUnicodeString
public static StringSE toUnicodeString(Address[] addresses)
InternetAddress オブジェクトの指定された配列をアドレス文字列のコンマ区切りのシーケンスに変換します。結果の文字列には Unicode 文字が含まれます。- パラメーター:
addresses- InternetAddress オブジェクトの配列- 戻り値:
- アドレスのカンマ区切りの文字列
- 例外:
ClassCastExceptionSE- 指定された配列内のいずれかのアドレスオブジェクトが InternetAddress オブジェクトではない場合。これは RuntimeException であることに注意してください。- 導入:
- JavaMail 1.6
toString
public static StringSE toString(Address[] addresses, int used)
InternetAddress オブジェクトの指定された配列をアドレス文字列のコンマ区切りのシーケンスに変換します。結果の文字列には US-ASCII 文字のみが含まれるため、メールセーフです。'used' パラメーターは、結果のアドレスシーケンス文字列が挿入されるフィールドですでに使用されている文字位置の数を指定します。結果のアドレスシーケンス文字列の改行位置を決定するために使用されます。
- パラメーター:
addresses- InternetAddress オブジェクトの配列used- アドレス文字列が挿入されるフィールドで、すでに使用されている文字位置の数- 戻り値:
- アドレスのカンマ区切りの文字列
- 例外:
ClassCastExceptionSE- 指定された配列内のいずれかのアドレスオブジェクトが InternetAddress オブジェクトではない場合。これは RuntimeException であることに注意してください。
toUnicodeString
public static StringSE toUnicodeString(Address[] addresses, int used)
InternetAddress オブジェクトの指定された配列をアドレス文字列のコンマ区切りのシーケンスに変換します。結果の文字列には Unicode 文字が含まれます。'used' パラメーターは、結果のアドレスシーケンス文字列が挿入されるフィールドですでに使用されている文字位置の数を指定します。結果のアドレスシーケンス文字列の改行位置を決定するために使用されます。
- パラメーター:
addresses- InternetAddress オブジェクトの配列used- アドレス文字列が挿入されるフィールドで、すでに使用されている文字位置の数- 戻り値:
- アドレスのカンマ区切りの文字列
- 例外:
ClassCastExceptionSE- 指定された配列内のいずれかのアドレスオブジェクトが InternetAddress オブジェクトではない場合。これは RuntimeException であることに注意してください。- 導入:
- JavaMail 1.6
getLocalAddress
public static InternetAddress getLocalAddress(Session session)
現在のユーザーを表す InternetAddress オブジェクトを返します。メールアドレス全体は、"mail.from" プロパティで指定できます。設定されていない場合、"mail.user" および "mail.host" プロパティが試行されます。それらが設定されていない場合は、"user.name" プロパティとInetAddress.getLocalHostメソッドが試行されます。この情報へのアクセス中に発生する可能性のあるセキュリティ例外は無視されます。メールアドレスを特定できない場合は、null が返されます。- パラメーター:
session- プロパティのルックアップに使用されるセッションオブジェクト- 戻り値:
- 現在のユーザーのメールアドレス
parse
public static InternetAddress[] parse(StringSE addresslist) throws AddressException
指定されたアドレスのコンマ区切りシーケンスを InternetAddress オブジェクトに解析します。アドレスは RFC822 構文に従う必要があります。- パラメーター:
addresslist- カンマ区切りのアドレス文字列- 戻り値:
- InternetAddress オブジェクトの配列
- 例外:
AddressException- 解析が失敗した場合
parse
public static InternetAddress[] parse(StringSE addresslist, boolean strict) throws AddressException
指定されたアドレスのシーケンスを InternetAddress オブジェクトに解析します。strictが false の場合、スペースで区切られた単純なメールアドレスも許可されます。strictが true の場合、RFC822 構文ルールの多く(すべてではない)が適用されます。特に、strictが true の場合でも、単純な名前("@domain" の部分がない)で構成されるアドレスは許可されます。そのような「不正な」アドレスは、実際のメッセージでは珍しくありません。非厳密な解析は、通常、人間が入力したメールアドレスのリストを解析するときに使用されます。厳密な解析は、通常、メールメッセージのアドレスヘッダーを解析するときに使用されます。
- パラメーター:
addresslist- カンマ区切りのアドレス文字列strict- RFC822 構文を適用する- 戻り値:
- InternetAddress オブジェクトの配列
- 例外:
AddressException- 解析が失敗した場合
parseHeader
public static InternetAddress[] parseHeader(StringSE addresslist, boolean strict) throws AddressException
指定されたアドレスのシーケンスを InternetAddress オブジェクトに解析します。strictが false の場合、個々のアドレスの完全な構文規則は適用されません。strictが true の場合、RFC822 構文ルールの多く(すべてではない)が適用されます。実際のメッセージに表示される「無効な」アドレスの範囲をより適切にサポートするために、このメソッドは、strict フラグが false の場合、
parseメソッドよりも少ない構文ルールを適用し、strict フラグが true の場合、より多くのルールを適用します。strict フラグが false で、解析が 1 つまたは複数のメールアドレスの分離に成功した場合、アドレス自体の構文はチェックされません。- パラメーター:
addresslist- カンマ区切りのアドレス文字列strict- RFC822 構文を適用する- 戻り値:
- InternetAddress オブジェクトの配列
- 例外:
AddressException- 解析が失敗した場合- 導入:
- JavaMail 1.3
validate
public void validate() throws AddressExceptionこのアドレスが RFC 822 の構文規則に準拠していることを確認します。現在の実装では、すべてではなく多くの構文規則がチェックされます。アドレスの構文が正しい場合でも、その名前のメールボックスが存在する保証はありません。- 例外:
AddressException- アドレスが有効でない場合。- 導入:
- JavaMail 1.3
isGroup
public boolean isGroup()
このアドレスが RFC 822 グループアドレスであるかどうかを示します。グループアドレスは、ほとんどのメールサーバーでサポートされているメーリングリストアドレスとは異なることに注意してください。グループアドレスはめったに使用されません。詳細については、RFC 822 を参照してください。- 戻り値:
- このアドレスがグループを表す場合は true
- 導入:
- JavaMail 1.3
getGroup
public InternetAddress[] getGroup(boolean strict) throws AddressException
グループアドレスのメンバーを返します。グループには、0、1、またはそれ以上のメンバーが含まれます。このアドレスがグループでない場合、null が返されます。strictパラメーターは、厳密な RFC 822 ルールを使用してグループリストを解析するかどうかを制御します。解析はparseHeaderメソッドを使用して行われます。- パラメーター:
strict- 厳密な RFC 822 ルールを使用しますか?- 戻り値:
- InternetAddress オブジェクトの配列、または null
- 例外:
AddressException- グループリストを解析できない場合- 導入:
- JavaMail 1.3