パッケージ jakarta.mail.internet

クラス InternetAddress

java.lang.ObjectSE
jakarta.mail.Address
jakarta.mail.internet.InternetAddress
実装されたすべてのインターフェース:
SerializableSECloneableSE

public class InternetAddress extends Address implements CloneableSE
このクラスは、RFC822 の構文を使用してインターネットのメールアドレスを表します。一般的なアドレス構文は、"user@host.domain" または "PersonalName <user@host.domain>" の形式です。
作成者:
Bill Shannon, John Mani
関連事項:
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    protected StringSE
    メールアドレス。
    protected StringSE
    RFC 2047 でエンコードされたバージョンの個人名。
    protected StringSE
    個人名。
  • コンストラクターの概要

    コンストラクター
    コンストラクター
    説明
    デフォルトコンストラクター。
    コンストラクター。
    InternetAddress(StringSE address, boolean strict)
    指定された文字列を解析し、InternetAddress を作成します。
    InternetAddress(StringSE address, StringSE personal)
    住所と個人名を指定して InternetAddress を作成します。
    InternetAddress(StringSE address, StringSE personal, StringSE charset)
    住所と個人名を指定して InternetAddress を作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    この InternetAddress オブジェクトのコピーを返します。
    boolean
    等価演算子。
    メールアドレスを取得します。
    getGroup(boolean strict)
    グループアドレスのメンバーを返します。
    現在のユーザーを表す InternetAddress オブジェクトを返します。
    個人名を取得します。
    このアドレスの型を返します。
    int
    アドレスのハッシュコードを計算します。
    boolean
    このアドレスが RFC 822 グループアドレスであるかどうかを示します。
    parse(StringSE addresslist)
    指定されたコンマ区切りのアドレスシーケンスを InternetAddress オブジェクトに解析します。
    parse(StringSE addresslist, boolean strict)
    指定されたアドレスのシーケンスを InternetAddress オブジェクトに解析します。
    parseHeader(StringSE addresslist, boolean strict)
    指定されたアドレスのシーケンスを InternetAddress オブジェクトに解析します。
    void
    メールアドレスを設定します。
    void
    個人名を設定します。
    void
    個人名を設定します。
    このアドレスを RFC 822/RFC 2047 エンコードされたアドレスに変換します。
    static StringSE
    toString(Address[] addresses)
    InternetAddress オブジェクトの指定された配列をアドレス文字列のコンマ区切りのシーケンスに変換します。
    static StringSE
    toString(Address[] addresses, int used)
    InternetAddress オブジェクトの指定された配列をアドレス文字列のコンマ区切りのシーケンスに変換します。
    Unicode 文字の適切にフォーマットされたアドレス(RFC 822 構文)を返します。
    static StringSE
    InternetAddress オブジェクトの指定された配列をアドレス文字列のコンマ区切りのシーケンスに変換します。
    static StringSE
    toUnicodeString(Address[] addresses, int used)
    InternetAddress オブジェクトの指定された配列をアドレス文字列のコンマ区切りのシーケンスに変換します。
    void
    このアドレスが RFC 822 の構文規則に準拠していることを確認してください。

    クラス java.lang.ObjectSE から継承されたメソッド

    finalize, getClass, notify, notifyAll, wait, waitSE, waitSE
  • フィールドの詳細

    • address

      protected StringSE address
      メールアドレス。
    • personal

      protected StringSE personal
      個人名。
    • encodedPersonal

      protected StringSE encodedPersonal
      RFC 2047 でエンコードされたバージョンの個人名。

      このフィールドと personal フィールドはお互いを追跡するため、サブクラスがこれらのフィールドの 1 つを直接設定する場合、適切に再計算されるように、他のフィールドを null に設定する必要があります。

  • コンストラクターの詳細

    • 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 オブジェクトのコピーを返します。
      オーバーライド:
      クラス ObjectSEclone 
      導入:
      JavaMail 1.2
    • getType

      public StringSE getType()
      このアドレスの型を返します。InternetAddress の型は "rfc822" です。
      次で指定:
      クラス AddressgetType 
      戻り値:
      アドレス型
      関連事項:
    • 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

      public void setPersonal(StringSE name) throws UnsupportedEncodingExceptionSE
      個人名を設定します。名前に US-ASCII 以外の文字が含まれている場合、名前はプラットフォームのデフォルトの文字セットを使用してエンコードされます。名前に US-ASCII 文字のみが含まれている場合、エンコードは行われず、名前がそのまま使用されます。
      パラメーター:
      name - 個人名
      例外:
      UnsupportedEncodingExceptionSE - 文字セットエンコーディングが失敗した場合。
      関連事項:
    • getAddress

      public StringSE getAddress()
      メールアドレスを取得します。
      戻り値:
      Email アドレス
    • getPersonal

      public StringSE getPersonal()
      個人名を取得します。名前が RFC 2047 に従ってエンコードされている場合、デコードされ、Unicode に変換されます。デコードまたは変換が失敗した場合、生データはそのまま返されます。
      戻り値:
      個人名
    • toString

      public StringSE toString()
      このアドレスを RFC 822/RFC 2047 エンコードされたアドレスに変換します。結果の文字列には US-ASCII 文字のみが含まれるため、メールセーフです。
      次で指定:
      クラス AddresstoString 
      戻り値:
      エンコードされた可能性のあるアドレス文字列
    • toUnicodeString

      public StringSE toUnicodeString()
      Unicode 文字の適切にフォーマットされたアドレス(RFC 822 構文)を返します。
      戻り値:
      Unicode アドレス文字列
      導入:
      JavaMail 1.2
    • equals

      public boolean equals(ObjectSE a)
      等価演算子。
      次で指定:
      クラス Addressequals 
      パラメーター:
      a - アドレスオブジェクト
    • hashCode

      public int hashCode()
      アドレスのハッシュコードを計算します。
      オーバーライド:
      クラス ObjectSEhashCode 
    • 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