概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## javax.mail
クラス Message

    java.lang.Object
      javax.mail.Message

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

直系の既知のサブクラス:
  MimeMessage

    public abstract class Message

extends Object
implements Part

このクラスは電子メールメッセージをモデル化します。 これは抽象クラスです。サブクラスは実際の実装を提供します。

Message は Part インタフェースを実装します。 Message は一連の属性と "内容" を含みます。 フォルダ内の Message は、フォルダ内の状態を表す一連のフラグも含んでいます。

Message は `Part` インタフェースに定義される属性に加え、新規の属性を定義します。 これらの属性はメッセージのメタデータ、つまり、メッセージのアドレッシング及び説明的情報を指定します。

Message オブジェクトは、Folder から、 又は適切なサブクラスの新規 Message オブジェクトを構築する事により取得されます。 受信済みの Message は、通常 "INBOX" というフォルダから取り出されます。

フォルダから取得される Message オブジェクトは、実際のメッセージへの軽量な参照に過ぎません。 Message は、各項目がメッセージから要求される時に(オンデマンドに)入力されます。 一部のフォルダ実装は、特定のユーザ指定項目が入力済みの Message オブジェクトを返す事ができます。 メッセージを送信するには、Message の適切なサブクラス (MimeMessage 等) がインスタンス化され、 属性と内容が入力され、`Transport.send` メソッドを使用してメッセージが送信されます。

関連項目:
  `Part`

入れ子のクラスの概要
`static class` | `Message.RecipientType` この内部クラスは、Message クラスにより許可される受信者の型を定義します。

フィールドの概要
`protected boolean` | `expunged` このメッセージが消去された場合は true になります。
`protected Folder` | `folder` このメッセージがフォルダから取得される場合は、メッセージの含まれるフォルダです。
`protected int` | `msgnum` フォルダ内のこのメッセージの番号です。
`protected Session` | `session` この Message の Session オブジェクトです。

インタフェース javax.mail.Part から継承されたフィールド
`ATTACHMENT, INLINE`

コンストラクタの概要
`protected` | `Message()` 引数なしのコンストラクタです。
`protected` | `Message(Folder folder, int msgnum)` Folder 及びメッセージ番号を受け取るコンストラクタです。
`protected` | `Message(Session session)` Session を受け取るコンストラクタです。

メソッドの概要
`abstract void` | `addFrom(Address[] addresses)` これらのアドレスを既存の "From" 属性に追加します。
`void` | `addRecipient(Message.RecipientType type, Address address)` この受信者アドレスを、指定された型の既存のアドレスに追加します。
`abstract void` | `addRecipients(Message.RecipientType type, Address[] addresses)` これらの受信者アドレスを、指定された型の既存のアドレスに追加します。
`Address[]` | `getAllRecipients()` メッセージの全ての受信者アドレスを取得します。
`abstract Flags` | `getFlags()` このメッセージのフラグを含む `Flags` オブジェクトを返します。
`Folder` | `getFolder()` このメッセージが取得されたフォルダを取得します。
`abstract Address[]` | `getFrom()` "From" 属性を返します。
`int` | `getMessageNumber()` この Message の Message 番号を取得します。
`abstract Date` | `getReceivedDate()` このメッセージが受信された日付を取得します。
`abstract Address[]` | `getRecipients(Message.RecipientType type)` 指定された型の全ての受信者アドレスを取得します。
`Address[]` | `getReplyTo()` 返信の送信先のアドレスを取得します。
`abstract Date` | `getSentDate()` このメッセージが送信された日付を取得します。
`abstract String` | `getSubject()` このメッセージの件名を取得します。
`boolean` | `isExpunged()` このメッセージが消去されているかどうかをチェックします。
`boolean` | `isSet(Flags.Flag flag)` `flag` 引数に指定されたフラグがこのメッセージ内に設定されているかどうかをチェックします。
`boolean` | `match(SearchTerm term)` 指定された Search 基準をこのメッセージに適用します。
`abstract Message` | `reply(boolean replyToAll)` このメッセージの返信に適した新しい Message を取得します。
`abstract void` | `saveChanges()` メッセージがフォルダに含まれる場合、そのフォルダが閉じる際に、 このメッセージに対する全ての変更をメッセージストアに保存します。
`protected void` | `setExpunged(boolean expunged)` この Message の消去済みフラグを設定します。
`void` | `setFlag(Flags.Flag flag, boolean set)` このメッセージ上の指定されたフラグを、指定された値に設定します。
`abstract void` | `setFlags(Flags flag, boolean set)` このメッセージ上の指定されたフラグを、指定された値に設定します。
`abstract void` | `setFrom()` この Message 中の "From" 属性を設定します。
`abstract void` | `setFrom(Address address)` この Message 中の "From" 属性を設定します。
`protected void` | `setMessageNumber(int msgnum)` この Message の Message 番号を設定します。
`void` | `setRecipient(Message.RecipientType type, Address address)` 受信者アドレスを設定します。
`abstract void` | `setRecipients(Message.RecipientType type, Address[] addresses)` 受信者アドレスを設定します。
`void` | `setReplyTo(Address[] addresses)` 返信の送信先のアドレスを設定します (通常、アドレスは 1 つだけ指定します)。
`abstract void` | `setSentDate(Date date)` このメッセージの送信日付を設定します。
`abstract void` | `setSubject(String subject)` このメッセージの件名を設定します。

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

インタフェース javax.mail.Part から継承されたメソッド
`addHeader, getAllHeaders, getContent, getContentType, getDataHandler, getDescription, getDisposition, getFileName, getHeader, getInputStream, getLineCount, getMatchingHeaders, getNonMatchingHeaders, getSize, isMimeType, removeHeader, setContent, setContent, setDataHandler, setDescription, setDisposition, setFileName, setHeader, setText, writeTo`

フィールドの詳細

### msgnum

    protected int msgnum

  フォルダ内のこのメッセージの番号です。 メッセージがフォルダから取り出されなかった場合は 0 になります。

### expunged

    protected boolean expunged

  このメッセージが消去された場合は true になります。

### folder

    protected Folder folder

  このメッセージがフォルダから取得される場合は、メッセージの含まれるフォルダです。

### session

    protected Session session

  この Message の Session オブジェクトです。

コンストラクタの詳細

### Message

    protected Message()

  引数なしのコンストラクタです。

### Message

    protected Message(Folder folder,
                      int msgnum)

  Folder 及びメッセージ番号を受け取るコンストラクタです。 Folder 実装により使用されます。

  パラメータ:
    `folder` - この Message を含むフォルダ
    `msgnum` - このフォルダ内のこのメッセージのシーケンス番号

### Message

    protected Message(Session session)

  Session を受け取るコンストラクタです。 クライアントが作成した Message オブジェクトにより使用されます。

  パラメータ:
    `session` - Session オブジェクト

メソッドの詳細

### getFrom

    public abstract Address[] getFrom()
                               throws MessagingException

  "From" 属性を返します。 "From" 属性は、このメッセージを送信する人の ID を含みます。

  一部の実装において、これはメッセージを実際に送信したエンティティと異なる事があります。

  この属性がこのメッセージ中に存在しない場合、このメソッドは `null` を返します。 この属性は存在するがアドレスは含まない場合、空の配列を返します。

  戻り値:
    Address オブジェクトの配列
  例外:
    `MessagingException`

### setFrom

    public abstract void setFrom()
                          throws MessagingException

  この Message 中の "From" 属性を設定します。 この属性の値はプロパティ "mail.user" から取得されます。 このプロパティが存在しない場合、システムプロパティ "user.name" が使用されます。

  例外:
    `MessagingException`
    `IllegalWriteException` - 実装が既存値の変更をサポートしない場合
    `IllegalStateException` - このメッセージが READ_ONLY フォルダから取得された場合

### setFrom

    public abstract void setFrom(Address address)
                          throws MessagingException

  この Message 中の "From" 属性を設定します。

  パラメータ:
    `address` - 送信者
  例外:
    `MessagingException`
    `IllegalWriteException` - 実装が既存値の変更をサポートしない場合
    `IllegalStateException` - このメッセージが READ_ONLY フォルダから取得された場合

### addFrom

    public abstract void addFrom(Address[] addresses)
                          throws MessagingException

  これらのアドレスを既存の "From" 属性に追加します。

  パラメータ:
    `addresses` - 送信者
  例外:
    `IllegalWriteException` - 実装が既存値の変更をサポートしない場合
    `IllegalStateException` - このメッセージが READ_ONLY フォルダから取得された場合
    `MessagingException`

### getRecipients

    public abstract Address[] getRecipients(Message.RecipientType type)
                                     throws MessagingException

  指定された型の全ての受信者アドレスを取得します。

  指定された型のヘッダがこのメッセージ中に存在しない場合、 このメソッドは `null` を返します。 ヘッダは存在するがアドレスを含まない場合は、空の配列を返します。

  パラメータ:
    `type` - 受信者の型
  戻り値:
    Address オブジェクトの配列
  例外:
    `MessagingException`
  関連項目:
    `Message.RecipientType.TO`, `Message.RecipientType.CC`, `Message.RecipientType.BCC`

### getAllRecipients

    public Address[] getAllRecipients()
                               throws MessagingException

  メッセージの全ての受信者アドレスを取得します。 デフォルトの実装は、`getRecipients` メソッドを使用して、 TO、CC、及び BCC の各受信者を抽出します。

  受信者ヘッダがこのメッセージ中に存在しない場合、このメソッドは `null` を返します。 受信者ヘッダは存在するがアドレスを含まない場合は、空の配列を返します。

  戻り値:
    Address オブジェクトの配列
  例外:
    `MessagingException`
  関連項目:
    `Message.RecipientType.TO`, `Message.RecipientType.CC`, `Message.RecipientType.BCC`, `getRecipients(javax.mail.Message.RecipientType)`

### setRecipients

    public abstract void setRecipients(Message.RecipientType type,
                                       Address[] addresses)
                                throws MessagingException

  受信者アドレスを設定します。 指定された型の全てのアドレスは、アドレスパラメータにより置き換えられます。

  パラメータ:
    `type` - 受信者の型
    `addresses` - アドレス
  例外:
    `MessagingException`
    `IllegalWriteException` - 実装が既存値の変更をサポートしない場合
    `IllegalStateException` - このメッセージが READ_ONLY フォルダから取得された場合

### setRecipient

    public final void setRecipient(Message.RecipientType type,
                                   Address address)
                            throws MessagingException

  受信者アドレスを設定します。 指定された型の全てのアドレスは、アドレスパラメータにより置き換えられます。

  デフォルトの実装は `setRecipients` メソッドを使用します。

  パラメータ:
    `type` - 受信者の型
    `address` - アドレス
  例外:
    `MessagingException`
    `IllegalWriteException` - 実装が既存値の変更をサポートしない場合

### addRecipients

    public abstract void addRecipients(Message.RecipientType type,
                                       Address[] addresses)
                                throws MessagingException

  これらの受信者アドレスを、指定された型の既存のアドレスに追加します。

  パラメータ:
    `type` - 受信者の型
    `addresses` - アドレス
  例外:
    `MessagingException`
    `IllegalWriteException` - 実装が既存値の変更をサポートしない場合
    `IllegalStateException` - このメッセージが READ_ONLY フォルダから取得された場合

### addRecipient

    public final void addRecipient(Message.RecipientType type,
                                   Address address)
                            throws MessagingException

  この受信者アドレスを、指定された型の既存のアドレスに追加します。

  デフォルトの実装は `addRecipients` メソッドを使用します。

  パラメータ:
    `type` - 受信者の型
    `address` - アドレス
  例外:
    `MessagingException`
    `IllegalWriteException` - 実装が既存値の変更をサポートしない場合

### getReplyTo

    public Address[] getReplyTo()
                         throws MessagingException

  返信の送信先のアドレスを取得します。通常これはメッセージの送信側ですが、 一部のメッセージは異なるアドレスに返信される場合があります。

  デフォルトの実装は単に `getFrom` メソッドを呼び出します。

  対応するヘッダが存在しない場合、このメソッドは `null` を返します。 ヘッダは存在するがアドレスを含まない場合は、空の配列を返します。

  戻り値:
    返信の送信先のアドレス
  例外:
    `MessagingException`
  関連項目:
    `getFrom()`

### setReplyTo

    public void setReplyTo(Address[] addresses)
                    throws MessagingException

  返信の送信先のアドレスを設定します (通常、アドレスは 1 つだけ指定します)。 全てのメッセージ型で、メッセージの送信者以外の指定が可能であるわけではありません。

  ここで提供されるデフォルトの実装は、MethodNotSupportedException をスローするだけです。

  パラメータ:
    `addresses` - 返信の送信先のアドレス
  例外:
    `MessagingException`
    `IllegalWriteException` - 実装が既存値の変更をサポートしない場合
    `IllegalStateException` - このメッセージが READ_ONLY フォルダから取得された場合
    `MethodNotSupportedException` - 実装がこの属性の設定をサポートしない場合

### getSubject

    public abstract String getSubject()
                               throws MessagingException

  このメッセージの件名を取得します。

  戻り値:
    件名
  例外:
    `MessagingException`

### setSubject

    public abstract void setSubject(String subject)
                             throws MessagingException

  このメッセージの件名を設定します。

  パラメータ:
    `subject` - 件名
  例外:
    `MessagingException`
    `IllegalWriteException` - 実装が既存値の変更をサポートしない場合
    `IllegalStateException` - このメッセージが READ_ONLY フォルダから取得された場合

### getSentDate

    public abstract Date getSentDate()
                              throws MessagingException

  このメッセージが送信された日付を取得します。

  戻り値:
    このメッセージが送信された日付
  例外:
    `MessagingException`

### setSentDate

    public abstract void setSentDate(Date date)
                              throws MessagingException

  このメッセージの送信日付を設定します。

  パラメータ:
    `date` - このメッセージの送信日付
  例外:
    `MessagingException`
    `IllegalWriteException` - 実装が既存値の変更をサポートしない場合
    `IllegalStateException` - このメッセージが READ_ONLY フォルダから取得された場合

### getReceivedDate

    public abstract Date getReceivedDate()
                                  throws MessagingException

  このメッセージが受信された日付を取得します。

  戻り値:
    このメッセージが受信された日付
  例外:
    `MessagingException`

### getFlags

    public abstract Flags getFlags()
                            throws MessagingException

  このメッセージのフラグを含む `Flags` オブジェクトを返します。

  返されたこの Flags オブジェクト中のフラグを変更しても、メッセージには反映されません。 メッセージのフラグを変更する為には、`setFlags()` を使って下さい。

  戻り値:
    このメッセージのフラグを含む Flags オブジェクト
  例外:
    `MessagingException`
  関連項目:
    `Flags`, `setFlags(javax.mail.Flags, boolean)`

### isSet

    public boolean isSet(Flags.Flag flag)
                  throws MessagingException

  `flag` 引数に指定されたフラグがこのメッセージ内に設定されているかどうかをチェックします。

  デフォルトの実装は `getFlags` を使用します。

  パラメータ:
    `flag` - フラグ
  戻り値:
    このメッセージの指定されたフラグの値
  例外:
    `MessagingException`
  関連項目:
    `Flags.Flag`, `Flags.Flag.ANSWERED`, `Flags.Flag.DELETED`, `Flags.Flag.DRAFT`, `Flags.Flag.FLAGGED`, `Flags.Flag.RECENT`, `Flags.Flag.SEEN`

### setFlags

    public abstract void setFlags(Flags flag,
                                  boolean set)
                           throws MessagingException

  このメッセージ上の指定されたフラグを、指定された値に設定します。 指定された `Flags` オブジェクト中に指定されていない、 このメッセージ中のすべてのフラグは影響を受けません。

  これにより、この Message を含むフォルダ上に登録されている 全ての MessageChangedListener に `MessageChangedEvent` が配信されます。

  パラメータ:
    `flag` - 設定されるフラグを含む Flags オブジェクト
    `set` - 設定される値
  例外:
    `MessagingException`
    `IllegalWriteException` - 実装が既存値の変更をサポートしない場合
    `IllegalStateException` - このメッセージが READ_ONLY フォルダから取得された場合
  関連項目:
    `MessageChangedEvent`

### setFlag

    public final void setFlag(Flags.Flag flag,
                              boolean set)
                       throws MessagingException

  このメッセージ上の指定されたフラグを、指定された値に設定します。 これにより、この Message を含むフォルダ上に登録されている 全ての MessageChangedListener に `MessageChangedEvent` が配信される事になります。

  デフォルトの実装は `setFlags` メソッドを使用します。

  パラメータ:
    `flag` - 設定されるフラグを含む Flags オブジェクト
    `set` - 設定される値
  例外:
    `MessagingException`
    `IllegalWriteException` - 実装が既存値の変更をサポートしない場合
    `IllegalStateException` - このメッセージが READ_ONLY フォルダから取得された場合
  関連項目:
    `MessageChangedEvent`

### getMessageNumber

    public final int getMessageNumber()

  この Message の Message 番号を取得します。 Message オブジェクトのメッセージ番号は、Folder 中のこの Message の相対位置です。 特定の Message のメッセージ番号は、Folder 中の他のメッセージが削除及び消去された場合、 セッション中に変更される可能性があります。

  有効なメッセージ番号は 1 から始まります。 どのフォルダにも属さないメッセージ (新規の作成又は派生されたメッセージ) のメッセージ番号は 0 です。

  戻り値:
    メッセージ番号

### setMessageNumber

    protected void setMessageNumber(int msgnum)

  この Message の Message 番号を設定します。 このメソッドは実装クラスによってのみ呼び出されます。

### getFolder

    public final Folder getFolder()

  このメッセージが取得されたフォルダを取得します。 これが新規メッセージ又はネストされたメッセージの場合、 このメソッドは null を返します。

  戻り値:
    このメッセージを含んでいるフォルダ

### isExpunged

    public boolean isExpunged()

  このメッセージが消去されているかどうかをチェックします。 消去された Message オブジェクト上では、 `getMessageNumber()` を除く全てのメソッドが無効です。

  包含 Folder 上での明示的な `expunge()` 要求により消去されるメッセージは、 直ちに Folder から削除されます。 別のソースから外部的に消去されるメッセージには "消去済み" のマークが付けられ、 isExpunged() メソッドに対して true が返されます。 但し、Folder 上で明示的な `expunge()` が実行されるまで Folder から削除されません。

  消去処理の詳細については `expunge()` の説明を参照して下さい。

  関連項目:
    `Folder.expunge()`

### setExpunged

    protected void setExpunged(boolean expunged)

  この Message の消去済みフラグを設定します。 このメソッドは実装クラスによってのみ使用されます。

  パラメータ:
    `expunged` - 消去済みフラグ

### reply

    public abstract Message reply(boolean replyToAll)
                           throws MessagingException

  このメッセージの返信に適した新しい Message を取得します。 新しい Message の属性とヘッダは適切に設定されます。 この新しいメッセージオブジェクトは空、即ち "内容" を持ちません。 これらは、クライアントが適切に入力する必要があります。

  `replyToAll` が true の場合、 新しい Message はこのメッセージの全ての受信者に送られます。 それ以外の場合、返信はこのメッセージの送信者だけに 送られます (`getReplyTo` メソッドの値を使用)。

  "Subject" フィールドには、元の件名の前に "Re:" が付けられて 入力されます (既に先頭が "Re:" でない場合)。

  返信メッセージはこのメッセージと同じセッションを使用します。

  パラメータ:
    `replyToAll` - 返信はこのメッセージの全ての受信者に送信する場合 true
  戻り値:
    返信 Message
  例外:
    `MessagingException`

### saveChanges

    public abstract void saveChanges()
                              throws MessagingException

  メッセージがフォルダに含まれる場合、そのフォルダが閉じる際に、 このメッセージに対する全ての変更をメッセージストアに保存します。 一部の実装では変更を直ちに保存する場合があります。 変更されたメッセージ内容に矛盾しない様に全てのヘッダフィールドを更新します。 メッセージのヘッダ又は内容の任意の部分が変更された場合は、 saveChanges を呼び出して、それらの変更を保存する必要があります。 saveChanges を呼び出さないと、メッセージストア及びフォルダ実装によって、 変更が保存されたりされなかったりします。

  READ_ONLY で開かれているフォルダから取得されたメッセージを変更してはいけません。 又、そうしたメッセージ上で saveChanges を呼び出してはいけません。

  例外:
    `MessagingException`
    `IllegalWriteException` - 実装が既存値の変更をサポートしない場合
    `IllegalStateException` - このメッセージが READ_ONLY フォルダから取得された場合

### match

    public final boolean match(SearchTerm term)
                        throws MessagingException

  指定された Search 基準をこのメッセージに適用します。

  パラメータ:
    `term` - Search 基準
  戻り値:
    Message がこの検索基準に一致する場合は true、そうでない場合は false
  例外:
    `MessagingException`
  関連項目:
    `SearchTerm`

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド