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 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の説明を参照してください。

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

getSubject

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

戻り値:
サブジェクトを返します。 このメールが SMS (FOMA 端末の場合) である場合には、 文字列 "SMS" を表す XString を、 ショートメール(PDC 端末の場合)である場合には 文字列 "XXXXXXXXXXX(ショートメール)" を表す XString を、それぞれ返します。 ここで、「XXXXXXXXXXX」は発信者電話番号を表し、 "ショートメール"は JIS X 0201 片仮名です。 また、サブジェクトがない場合は、空文字列のXStringを返します。

getFrom

public XString getFrom(int part)

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

このメールが SMS (FOMA 端末の場合) である場合には、 発信者電話番号を表す文字列が、 ショートメール(PDC 端末の場合)である場合には、 文字列 "iMS" が、 差出人アドレスとして、 それぞれ設定されているものとして扱われます。

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

getPhoneBookID

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

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

[DoJa-3.0 (505i、506i、506iC)、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つのエントリの情報を返します。

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

getRecipients

public XString[] getRecipients(int part)
宛先アドレス(XString)を取得します。
自分以外の宛先アドレスがない場合、null が返ります。 したがって、PDC 端末では常に null が返ります。

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

パラメータ:
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 が格納されています。

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