パッケージ jakarta.mail.internet

クラス InternetAddress

  • 実装されたすべてのインターフェース:
    SerializableSECloneableSE

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

      • 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 
        戻り値:
        アドレス型
        関連事項:
        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 文字のみが含まれるため、メールセーフです。
        次で指定:
        クラス 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