com.nttdocomo.system
クラス Mail

Object
  拡張com.nttdocomo.system.Mail
すべての実装インタフェース:
MailConstants

public final class Mail
extends Object
implements MailConstants

ネイティブのメーラから取得したメールを定義します。

メール機能では、メールの取得や送信を行うクラスと メールそのものを表すクラスが区別されています。 このクラスはメールそのものを表しますが、 メールの取得や送信はMailAgentクラスで行います。

MailAgent.getLastIncoming()メソッドにより、 最新のメールが未読メールの場合、そのメールを取得することができます。 取得されたメール(Mailオブジェクト)には、 サブジェクト(XString)、 日付(XStringとして取得可能)、 宛先アドレス(XString)、 差出人アドレス(XString)およびその電話帳IDが設定されています。 本文を取得することはできません。

導入されたバージョン:
DoJa-3.0 (505i)
関連項目:
Mail

フィールドの概要
 
インタフェース com.nttdocomo.system.MailConstants から継承したフィールド
ADDRESS_DOMAIN, ADDRESS_FULL, ADDRESS_USER, RECEIVED, SENT, UNSENT
 
メソッドの概要
 boolean[] canReply()
           差出人アドレスや自分以外の宛先アドレスが、 返信可能アドレスかどうかを返します。
 XString getDateString(String pattern)
          送信日時(XString)を取得します。
 XString getDateString(String pattern, java.util.TimeZone zone)
          送信日時(XString)を取得します。
 XString getFrom(int part)
           差出人アドレス(XString)を取得します。
 int[][] getPhoneBookID()
          差出人の電話帳エントリのIDを取得します。
 XString[] getRecipients(int part)
          宛先アドレス(XString)を取得します。
 XString getSubject()
          サブジェクト(XString)を取得します。
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

getDateString

public XString getDateString(String pattern)
送信日時(XString)を取得します。 日時のフォーマットの指定方法については、 CallRecordの説明を参照してください。

[DoJa-5.1 (905i) 以降]
このメソッドは送信日時を、このメールに設定されているタイムゾーンの時刻に変換して返します。

パラメータ:
pattern - 日時のフォーマットを記述するパターンを指定します。
戻り値:
送信日時を返します。
例外:
NullPointerException - 引数 pattern が null である場合に発生します。
IllegalArgumentException - 引数 pattern に不正なフォーマット文字列が指定された場合に発生します。

getDateString

public XString getDateString(String pattern,
                             java.util.TimeZone zone)
送信日時(XString)を取得します。 日時のフォーマットの指定方法については、 CallRecordの説明を参照してください。

このメソッドは送信日時を、指定されたタイムゾーンの時刻に変換して返します。

引数 zone には、TimeZone.getTimeZone(String) にてサポートされる全てのタイムゾーンを指定できます。 引数 zone に null が指定された場合は、 getDateString(String) と同様に振る舞います。

パラメータ:
pattern - 日時のフォーマットを記述するパターンを指定します。
zone - 使用するタイムゾーンを指定します。
戻り値:
送信日時を返します。
例外:
NullPointerException - 引数 pattern が null である場合に発生します。
IllegalArgumentException - 引数 pattern に不正なフォーマット文字列が指定された場合に発生します。
IllegalArgumentException - 引数 zone にシステムが提供している以外のオブジェクト (TimeZone クラスを継承した未知のクラスのオブジェクト) が渡された場合に発生します。
導入されたバージョン:
DoJa-5.1 (905i)

getSubject

public XString getSubject()
サブジェクト(XString)を取得します。

戻り値:
サブジェクトを返します。 このメールが SMS である場合には、 文字列 "SMS" を表す XString を 返します。 また、サブジェクトがない場合は、空文字列のXStringを返します。
[DoJa-5.1 (905i) 以降] このメールが CBS メッセージである場合には、 文字列 "エリアメール" を表す XString を返します。 "エリアメール"は JIS X 0201 片仮名です。

getFrom

public XString getFrom(int part)

差出人アドレス(XString)を取得します。

このメールが SMS である場合には、 発信者電話番号を表す文字列が 差出人アドレスとして 設定されているものとして扱われます。

[DoJa-5.0 (904i) 以降]
このメールがハイパーマルチ機能の付加アドレス宛のメールである場合には、 空文字列が差出人アドレスとして設定されているものとして扱われます。

[DoJa-5.1 (905i) 以降]
このメールが CBS メッセージである場合には、文字列 "エリアメール" が差出人アドレスとして設定されているものとして扱われます。 "エリアメール"は JIS X 0201 片仮名です。

パラメータ:
part - アドレス中の取得する部分を指定します。 ADDRESS_FULLADDRESS_USERADDRESS_DOMAIN のいずれかを指定します。
戻り値:
差出人アドレスを返します。
例外:
IllegalArgumentException - 引数 part の値が不正な場合に発生します。

getPhoneBookID

public int[][] getPhoneBookID()
差出人の電話帳エントリのIDを取得します。 このメールがSMS の場合には発信者電話番号が登録されている電話帳エントリの ID を、 そうでない場合には差出人のメールアドレスが登録されている電話帳エントリの ID を、それぞれ返します。

戻り値の配列を int[][] id とすると、 id[i][0] には、 i 番目に見つかった電話帳エントリ ID そのものが格納されています。

[DoJa-3.5 (900i、900iC)]
一方、 id[i][1] の意味は、 このメールがSMS かどうかによって異なります。

このメールがSMS の場合:
id[i][1] に格納されている値は機種依存です。
このメールがSMS 以外の場合:
id[i][1] には、 その電話帳エントリに登録されているメールアドレス中のインデックス値が格納されています。 すなわち、相手のメールアドレスは、
PhoneBook.getEntry(id[i][0]).getMailAddress(id[i][1], ADDRESS_FULL)
です。

[DoJa-4.0 (901i) 以降]
一方、id[i][1] には、 その電話帳エントリに登録されているメールアドレス中のインデックス値、 または、電話番号中のインデックス値のいずれかが格納されています。
メールアドレス中のインデックス値の場合:
インデックス値がそのまま格納されます(すなわち、 常に非負の値が格納されます)。
従って、相手のメールアドレスは、
PhoneBook.getEntry(id[i][0]).getMailAddress(id[i][1], ADDRESS_FULL)
です。
電話番号中のインデックス値の場合:
32 bit 符号付き整数(int 型)で表したインデックス値の上位 1 ビットを立てた値が格納されます(すなわち、常に負の値が格納されます)。
従って、相手の電話番号は、
PhoneBook.getEntry(id[i][0]).getPhoneNumber(id[i][1] & ‾0x80000000)
です。
同じエントリで、メールアドレスと電話番号の両方にマッチする場合、 両方のインデックス値を合わせて返すことはできません。 その場合、同じ電話帳エントリ ID を複数個返すことで 個別にインデックス値を返しますが、実際に複数個返すかどうかは機種依存です。 ただし、このメールがSMS の場合は電話番号のインデックス値を、 そうでない場合はメールアドレスのインデックス値を、 それぞれ最低 1 つは返すことは保証されています。

複数のエントリにマッチする場合、 そのすべてのエントリを返すかどうかは機種依存ですが、 少なくとも1つのエントリの情報を返します。

[DoJa-5.0 (904i) 以降]
このメールがハイパーマルチ機能の付加アドレス宛のメールである場合には、 電話帳エントリに登録されていないものとして扱われ、 常に null が返ります。

[DoJa-5.1 (905i) 以降]
このメールが CBS メッセージである場合には、 電話帳エントリに登録されていないものとして扱われ、 常に null が返ります。

戻り値:
相手の電話帳エントリIDを返します。 電話帳エントリに登録されていない場合、 nullが返ります。 返される配列は、このオブジェクトが内部で保持している配列のコピーです。

getRecipients

public XString[] getRecipients(int part)
宛先アドレス(XString)を取得します。
自分以外の宛先アドレスがない場合、null が返ります。

なお、「宛先アドレス」にはカーボンコピー(Cc)は含みません。 すなわち、Cc に指定されたアドレスは、 このメソッドを呼び出しても一切取得できません。

[DoJa-5.0 (904i) 以降]
このメールが、ハイパーマルチ機能の付加アドレス宛である場合、 自分以外の宛先アドレスは無いとみなされ、常に null が返ります。

[DoJa-5.1 (905i) 以降]
このメールが CBS メッセージである場合には、 自分以外の宛先アドレスは無いとみなされ、常に null が返ります。

パラメータ:
part - アドレス中の取得する部分を指定します。 ADDRESS_FULLADDRESS_USERADDRESS_DOMAIN のいずれかを指定します。
戻り値:
宛先アドレスを配列で返します。 自分以外の宛先アドレスがない場合、nullを返します。 返される配列は、このオブジェクトが内部で保持している配列のコピーです。
例外:
IllegalArgumentException - 引数 part の値が不正な場合に発生します。

canReply

public boolean[] canReply()

差出人アドレスや自分以外の宛先アドレスが、 返信可能アドレスかどうかを返します。

このメソッドの戻り値の各要素には、 以下のアドレスについての情報が格納されています。

第 0 要素:
差出人アドレス(getFrom(int))。
第 1 要素以降:
自分以外の宛先アドレス(getRecipients(int))。 第 i 要素には、 getRecipients(PhoneBook.ADDRESS_FULL)[i - 1] で得られる宛先アドレスについての情報が格納されています。

それぞれの要素について、そのアドレスが壊れているなどの理由により、 そのまま返信アドレスとして使用することができない場合は false が格納されています。

このメールが SMS である場合、 第 0 要素に返信不可アドレスを示す false が指定されている長さ 1 の配列が常に返ります。

[DoJa-5.0 (904i) 以降]
このメールがハイパーマルチ機能の付加アドレス宛のメールである場合、 第 0 要素に返信不可アドレスを示す false が指定されている長さ 1 の配列が常に返ります。

[DoJa-5.1 (905i) 以降]
このメールが CBS メッセージである場合には、 第 0 要素に返信不可アドレスを示す false が指定されている長さ 1 の配列が常に返ります。

戻り値:
各アドレスについて、それぞれ、 返信可能アドレスの場合は true、 返信不可アドレスの場合は false が格納された配列を返します。
導入されたバージョン:
DoJa-4.0 (901i)


NTT DOCOMO,INC.

本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。

Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。

FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。

「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。

その他記載された会社名、製品名などは該当する各社の商標または登録商標です。