javax.mail.internet
クラス InternetAddress

java.lang.Object
  上位を拡張 javax.mail.Address
      上位を拡張 javax.mail.internet.InternetAddress
すべての実装されたインタフェース:
Serializable, Cloneable

public class InternetAddress
extends Address
implements Cloneable

このクラスは RFC822 アドレスをモデル化します。 Typical address syntax is of the form "user@host.domain" or "Personal Name ".

関連項目:
直列化された形式

フィールドの概要
protected  String address
           
protected  String encodedPersonal
          個人名の RFC 2047 エンコードバージョンです。
protected  String personal
          個人名です。
 
コンストラクタの概要
InternetAddress()
          デフォルトコンストラクタです。
InternetAddress(String address)
          コンストラクタです。
InternetAddress(String address, boolean strict)
          Parse the given string and create an InternetAddress.
InternetAddress(String address, String personal)
          アドレスと個人名を指定された InternetAddress を構築します。
InternetAddress(String address, String personal, String charset)
          アドレスと個人名を指定された InternetAddress を構築します。
 
メソッドの概要
 Object clone()
          この InternetAddress オブジェクトのコピーを返します。
 boolean equals(Object a)
          等価演算子です。
 String getAddress()
          電子メールアドレスを取得します。
 InternetAddress[] getGroup(boolean strict)
          Return the members of a group address.
static InternetAddress getLocalAddress(Session session)
          現在のユーザを表す InternetAddress オブジェクトを返します。
 String getPersonal()
          個人名を取得します。
 String getType()
          このアドレスの型を返します。
 int hashCode()
          アドレスのハッシュコードを計算します。
 boolean isGroup()
          Indicates whether this address is an RFC 822 group address.
static InternetAddress[] parse(String addresslist)
          指定されたコンマ区切りのアドレスシーケンスを InternetAddress オブジェクトに構文解析します。
static InternetAddress[] parse(String addresslist, boolean strict)
          指定されたアドレスのシーケンスを InternetAddress オブジェクトに構文解析します。
static InternetAddress[] parseHeader(String addresslist, boolean strict)
          Parse the given sequence of addresses into InternetAddress objects.
 void setAddress(String address)
          電子メールアドレスを設定します。
 void setPersonal(String name)
          個人名を設定します。
 void setPersonal(String name, String charset)
          個人名を設定します。
 String toString()
          このアドレスを RFC 822 / RFC 2047 エンコードアドレスに変換します。
static String toString(Address[] addresses)
          指定された InternetAddress オブジェクトの配列をアドレス文字列のコンマ区切りシーケンスに変換します。
static String toString(Address[] addresses, int used)
          指定された InternetAddress オブジェクトの配列をアドレス文字列のコンマ区切りシーケンスに変換します。
 String toUnicodeString()
          正しい形式 (RFC 822 構文) の Unicode 文字のアドレスを返します。
 void validate()
          Validate that this address conforms to the syntax rules of RFC 822.
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

address

protected String address

personal

protected String personal
個人名です。


encodedPersonal

protected String encodedPersonal
個人名の RFC 2047 エンコードバージョンです。

このフィールドと personal フィールドは互いに追跡します。 従って、サブクラスがこれらのフィールドの 1 つを直接設定する場合、 適切な再計算が行なわれる様に他方を null に設定しなければなりません。

コンストラクタの詳細

InternetAddress

public InternetAddress()
デフォルトコンストラクタです。


InternetAddress

public InternetAddress(String address)
                throws AddressException
コンストラクタです。

指定された文字列を構文解析し、InternetAddress を構築します。

パラメータ:
address - RFC822 形式のアドレス
例外:
AddressException - 構文解析に失敗した場合

InternetAddress

public InternetAddress(String address,
                       boolean strict)
                throws AddressException
Parse the given string and create an InternetAddress. If strict is false, the detailed syntax of the address isn't checked.

パラメータ:
address - RFC822 形式のアドレス
strict - enforce RFC822 syntax
例外:
AddressException - 構文解析に失敗した場合
導入されたバージョン:
JavaMail 1.3

InternetAddress

public InternetAddress(String address,
                       String personal)
                throws UnsupportedEncodingException
アドレスと個人名を指定された InternetAddress を構築します。 このアドレスは構文的に有効な RFC822 アドレスと見なされます。

パラメータ:
address - RFC822 形式のアドレス
personal - 個人名
例外:
UnsupportedEncodingException

InternetAddress

public InternetAddress(String address,
                       String personal,
                       String charset)
                throws UnsupportedEncodingException
アドレスと個人名を指定された InternetAddress を構築します。 このアドレスは構文的に有効な RFC822 アドレスと見なされます。

パラメータ:
address - RFC822 形式のアドレス
personal - 個人名
charset - MIME 文字セットの名前
例外:
UnsupportedEncodingException
メソッドの詳細

clone

public final Object clone()
この InternetAddress オブジェクトのコピーを返します。

オーバーライド:
クラス Object 内の clone
導入されたバージョン:
JavaMail 1.2

getType

public final String getType()
このアドレスの型を返します。InternetAddress の型は "rfc822" です。

定義:
クラス Address 内の getType
戻り値:
アドレスの型
関連項目:
InternetAddress

setAddress

public final void setAddress(String address)
電子メールアドレスを設定します。

パラメータ:
address - 電子メールアドレス

setPersonal

public final void setPersonal(String name,
                              String charset)
                       throws UnsupportedEncodingException
個人名を設定します。名前に US-ASCII 以外の文字が含まれる場合、 名前は RFC 2047 に従い、指定された文字セットを使用してエンコードされます。 名前に US-ASCII 文字だけが含まれる場合、エンコーディングは行われず、名前はそのまま使用されます。

パラメータ:
name - 個人名
charset - RFC 2047 に従って名前をエンコードする為に使用される MIME 文字セット
例外:
UnsupportedEncodingException - 文字セットのエンコーディングが失敗した場合
関連項目:
setPersonal(String)

setPersonal

public final void setPersonal(String name)
                       throws UnsupportedEncodingException
個人名を設定します。名前に US-ASCII 以外の文字が含まれる場合、 名前はプラットフォームのデフォルト文字セットを使用してエンコードされます。 名前に US-ASCII 文字だけが含まれる場合、エンコーディングは行われず、名前はそのまま使用されます。

パラメータ:
name - 個人名
例外:
UnsupportedEncodingException - 文字セットのエンコーディングが失敗した場合
関連項目:
setPersonal(String name, String charset)

getAddress

public final String getAddress()
電子メールアドレスを取得します。

戻り値:
電子メールアドレス

getPersonal

public final String getPersonal()
個人名を取得します。名前が RFC 2047 に従ってエンコーディングされている場合、 Unicode にデコード及び変換されます。デコーディング又は変換が失敗した場合、 生データがそのまま返されます。

戻り値:
個人名

toString

public final String toString()
このアドレスを RFC 822 / RFC 2047 エンコードアドレスに変換します。 変換後の文字列には US-ASCII 文字だけが含まれる為、メールで安全に使用できます。

定義:
クラス Address 内の toString
戻り値:
恐らくエンコードされたアドレス文字列

toUnicodeString

public final String toUnicodeString()
正しい形式 (RFC 822 構文) の Unicode 文字のアドレスを返します。

戻り値:
Unicode アドレス文字列
導入されたバージョン:
JavaMail 1.2

equals

public final boolean equals(Object a)
等価演算子です。

定義:
クラス Address 内の equals
パラメータ:
a - Address オブジェクト

hashCode

public final int hashCode()
アドレスのハッシュコードを計算します。

オーバーライド:
クラス Object 内の hashCode

toString

public static final String toString(Address[] addresses)
指定された InternetAddress オブジェクトの配列をアドレス文字列のコンマ区切りシーケンスに変換します。 変換後の文字列には US-ASCII 文字だけが含まれる為、メールで安全に使用できます。

パラメータ:
addresses - InternetAddress オブジェクトの配列
戻り値:
コンマ区切りのアドレス文字列
例外:
ClassCastException - 指定された配列内の何れかのアドレスオブジェクトが InternetAddress オブジェクトでない場合。 これは RuntimeException である事に注意して下さい。

toString

public static final String toString(Address[] addresses,
                                    int used)
指定された InternetAddress オブジェクトの配列をアドレス文字列のコンマ区切りシーケンスに変換します。 変換後の文字列には US-ASCII 文字だけが含まれる為、メールで安全に使用できます。

'used' パラメータは、変換後のアドレスシーケンス文字列が挿入される フィールドを既に占有する文字位置の数を指定します。 これは変換後のアドレスシーケンス文字列中の改行位置を識別する為に使用されます。

パラメータ:
addresses - InternetAddress オブジェクトの配列
used - アドレス文字列が挿入されるフィールドで既に使用されている文字位置の数
戻り値:
コンマ区切りのアドレス文字列
例外:
ClassCastException - 指定された配列内の何れかのアドレスオブジェクトが InternetAddress オブジェクトでない場合。 これは RuntimeException である事に注意して下さい。

getLocalAddress

public static final InternetAddress getLocalAddress(Session session)
現在のユーザを表す InternetAddress オブジェクトを返します。 電子メールアドレス全体は "mail.from" プロパティで指定される場合があります。 設定されていない場合は "mail.user" 及び "mail.host" プロパティが試されます。 それらが設定されていない場合、"user.name" プロパティと InetAddress.getLocalHost メソッドが試されます。 この情報のアクセス時にセキュリティ例外が発生する場合は無視されます。 電子メールアドレスを識別する事ができない場合は null が返されます。

パラメータ:
session - プロパティの検索に使用される Session オブジェクト
戻り値:
現在のユーザの電子メールアドレス

parse

public static final InternetAddress[] parse(String addresslist)
                                     throws AddressException
指定されたコンマ区切りのアドレスシーケンスを InternetAddress オブジェクトに構文解析します。 アドレスは RFC822 構文に準拠しなければなりません。

パラメータ:
addresslist - コンマ区切りのアドレス文字列
戻り値:
InternetAddress オブジェクトの配列
例外:
AddressException - 構文解析に失敗した場合

parse

public static final InternetAddress[] parse(String addresslist,
                                            boolean strict)
                                     throws AddressException
指定されたアドレスのシーケンスを InternetAddress オブジェクトに構文解析します。 strict が false の場合、スペースで区切られた単純な電子メールアドレスでも許されます。 strict が true の場合、RFC822 構文規則の多く (全てではない) が適用されます。 特に、strict が true であっても、 単純な名前で構成されたアドレス ("@domain" 部分なし) は許されます。 こうした "不正" アドレスは実際のメッセージでは珍しくありません。

厳格でない構文解析は一般に手動で入力したメールアドレスのリストを構文解析する時に使用されます。 厳格な構文解析は一般にメールメッセージ中のアドレスヘッダを構文解析する時に使用されます。

パラメータ:
addresslist - コンマ区切りのアドレス文字列
strict - RFC822 構文を適用するかどうか
戻り値:
InternetAddress オブジェクトの配列
例外:
AddressException - 構文解析に失敗した場合

parseHeader

public static final InternetAddress[] parseHeader(String addresslist,
                                                  boolean strict)
                                           throws AddressException
Parse the given sequence of addresses into InternetAddress objects. If strict is false, the full syntax rules for individual addresses are not enforced. If strict is true, many (but not all) of the RFC822 syntax rules are enforced.

To better support the range of "invalid" addresses seen in real messages, this method enforces fewer syntax rules than the parse method when the strict flag is false and enforces more rules when the strict flag is true. If the strict flag is false and the parse is successful in separating out an email address or addresses, the syntax of the addresses themselves is not checked.

パラメータ:
addresslist - コンマ区切りのアドレス文字列
strict - RFC822 構文を適用するかどうか
戻り値:
InternetAddress オブジェクトの配列
例外:
AddressException - 構文解析に失敗した場合
導入されたバージョン:
JavaMail 1.3

validate

public void validate()
              throws AddressException
Validate that this address conforms to the syntax rules of RFC 822. The current implementation checks many, but not all, syntax rules. Note that even though the syntax of the address may be correct, there's no guarantee that a mailbox of that name exists.

例外:
AddressException - if the address isn't valid.
導入されたバージョン:
JavaMail 1.3

isGroup

public boolean isGroup()
Indicates whether this address is an RFC 822 group address. Note that a group address is different than the mailing list addresses supported by most mail servers. Group addresses are rarely used; see RFC 822 for details.

戻り値:
true if this address represents a group
導入されたバージョン:
JavaMail 1.3

getGroup

public InternetAddress[] getGroup(boolean strict)
                           throws AddressException
Return the members of a group address. A group may have zero, one, or more members. If this address is not a group, null is returned. The strict parameter controls whether the group list is parsed using strict RFC 822 rules or not. The parsing is done using the parseHeader method.

戻り値:
array of InternetAddress objects, or null
例外:
AddressException - if the group list can't be parsed
導入されたバージョン:
JavaMail 1.3