public abstract class Message extends ObjectSE implements Part
メッセージは Part インターフェースを実装します。メッセージには、一連の属性と「コンテンツ」が含まれています。フォルダー内のメッセージには、フォルダー内の状態を示すフラグのセットもあります。
メッセージは、Part
インターフェースで定義された属性に加えて、いくつかの新しい属性を定義します。これらの属性は、メッセージのメタデータ、つまり、メッセージのアドレス指定と説明情報を指定します。
メッセージオブジェクトは、フォルダーから、または適切なサブクラスの新しいメッセージオブジェクトを作成することによって取得されます。受信したメッセージは通常 "INBOX" という名前のフォルダーから取得されます。
フォルダーから取得した Message オブジェクトは、実際のメッセージへの軽量な参照です。メッセージは、各アイテムがメッセージからリクエストされたときに(オンデマンドで)「遅延」で埋められます。特定のフォルダー実装は、特定のユーザー指定の項目が事前に入力された Message オブジェクトを返す場合があることに注意してください。メッセージを送信するには、メッセージの適切なサブクラス(MimeMessage など)がインスタンス化され、属性とコンテンツが入力され、Transport.send
メソッドを使用してメッセージが送信されます。
Part
修飾子と型 | クラスと説明 |
---|---|
static class | Message.RecipientType この内部クラスは、メッセージクラスで許可される受信者の型を定義します。 |
修飾子と型 | フィールドと説明 |
---|---|
protected boolean | expunged このメッセージが消去されている場合は true。 |
protected Folder | folder このメッセージがフォルダーから取得された場合、包含フォルダー |
protected int | msgnum フォルダー内のこのメッセージの数。メッセージがフォルダーから取得されなかった場合はゼロ。 |
protected Session | session このメッセージの Session オブジェクト |
ATTACHMENT, INLINE
修飾子 | コンストラクターと説明 |
---|---|
protected | Message() 引数のないコンストラクターのバージョン。 |
protected | Message(Folder folder, int msgnum) Folder とメッセージ番号を取得するコンストラクター。 |
protected | Message(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() このメッセージのメッセージ番号を取得します。 |
abstract DateSE | getReceivedDate() このメッセージが受信された日付を取得します。 |
abstract Address[] | getRecipients(Message.RecipientType type) 指定された型のすべての受信者アドレスを取得します。 |
Address[] | getReplyTo() 返信先のアドレスを取得します。 |
abstract DateSE | getSentDate() このメッセージが送信された日付を取得します。 |
Session | getSession() このメッセージが作成されたときに使用されたセッションを返します。 |
abstract StringSE | getSubject() このメッセージの件名を取得します。 |
boolean | isExpunged() このメッセージが消去されたかどうかを確認します。 |
boolean | isSet(Flags.Flag flag) このメッセージに、 flag 引数で指定されたフラグが設定されているかどうかを確認します。 |
boolean | match(SearchTerm term) 指定した検索条件をこのメッセージに適用します。 |
abstract Message | reply(boolean replyToAll) このメッセージへの返信に適した新しいメッセージを取得します。 |
abstract void | saveChanges() メッセージがフォルダーに含まれている場合は、含まれているフォルダーが閉じているときに、このメッセージに加えられた変更をメッセージストアに保存します。 |
protected void | setExpunged(boolean expunged) このメッセージの消去済みフラグを設定します。 |
void | setFlag(Flags.Flag flag, boolean set) このメッセージの指定されたフラグを指定された値に設定します。 |
abstract void | setFlags(Flags flag, boolean set) このメッセージの指定されたフラグを指定された値に設定します。 |
abstract void | setFrom() このメッセージに "From" 属性を設定します。 |
abstract void | setFrom(Address address) このメッセージに "From" 属性を設定します。 |
protected void | setMessageNumber(int msgnum) このメッセージのメッセージ番号を設定します。 |
void | setRecipient(Message.RecipientType type, Address address) 受信者アドレスを設定します。 |
abstract void | setRecipients(Message.RecipientType type, Address[] addresses) 受信者アドレスを設定します。 |
void | setReplyTo(Address[] addresses) 返信先のアドレスを設定します。 |
abstract void | setSentDate(DateSE date) このメッセージの送信日を設定します。 |
abstract void | setSubject(StringSE subject) このメッセージの件名を設定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
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
protected int msgnum
protected boolean expunged
protected Folder folder
protected Session session
protected Message()
protected Message(Folder folder, int msgnum)
folder
- 含まれるフォルダー msgnum
- このフォルダー内のこのメッセージのシーケンス番号 protected Message(Session session)
session
- Session オブジェクト public Session getSession()
public abstract Address[] getFrom() throws MessagingException
特定の実装では、これは実際にメッセージを送信したエンティティとは異なる場合があります。
この属性がこのメッセージに存在しない場合、このメソッドは null
を返します。この属性は存在するがアドレスが含まれていない場合は、空の配列を返します。
MessagingException
- 失敗 public abstract void setFrom() throws MessagingException
IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合 IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合 public abstract void setFrom(Address address) throws MessagingException
address
- 送り主 IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合 IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合 public abstract void addFrom(Address[] addresses) throws MessagingException
addresses
- 送信者 IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合 IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合 public abstract Address[] getRecipients(Message.RecipientType type) throws MessagingException
このメッセージに指定された型の受信者が存在しない場合、このメソッドは null
を返します。ヘッダーは存在するがアドレスが含まれていない場合は、空の配列を返すことがあります。
type
- 受信者の型 MessagingException
- 失敗 Message.RecipientType.TO
, Message.RecipientType.CC
, Message.RecipientType.BCC
public Address[] getAllRecipients() throws MessagingException
getRecipients
メソッドを使用して TO、CC、BCC 受信者を抽出します。 このメッセージに受信者ヘッダーが存在しない場合、このメソッドは null
を返します。受信者のヘッダーは存在するがアドレスが含まれていない場合は、空の配列を返すことがあります。
MessagingException
- 失敗 Message.RecipientType.TO
, Message.RecipientType.CC
, Message.RecipientType.BCC
, getRecipients(javax.mail.Message.RecipientType)
public abstract void setRecipients(Message.RecipientType type, Address[] addresses) throws MessagingException
type
- 受信者の型 addresses
- アドレス IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合 IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合 public void setRecipient(Message.RecipientType type, Address address) throws MessagingException
デフォルトの実装では、setRecipients
メソッドを使用します。
type
- 受信者の型 address
- 住所・アドレス IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合 MessagingException
- その他の障害の場合 public abstract void addRecipients(Message.RecipientType type, Address[] addresses) throws MessagingException
type
- 受信者の型 addresses
- アドレス IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合 IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合 public void addRecipient(Message.RecipientType type, Address address) throws MessagingException
デフォルトの実装では、addRecipients
メソッドを使用します。
type
- 受信者の型 address
- 住所・アドレス IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合 MessagingException
- その他の障害の場合 public Address[] getReplyTo() throws MessagingException
デフォルトの実装では、単に getFrom
メソッドを呼び出します。
対応するヘッダーが存在しない場合、このメソッドは null
を返します。ヘッダーはあるがアドレスが含まれていない場合は、空の配列を返します。
MessagingException
- 失敗 getFrom()
public void setReplyTo(Address[] addresses) throws MessagingException
ここで提供されるデフォルトの実装は、MethodNotSupportedException をスローするだけです。
addresses
- 返信先のアドレス IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合 IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MethodNotSupportedException
- 基本となる実装がこの属性の設定をサポートしていない場合 MessagingException
- その他の障害の場合 public abstract StringSE getSubject() throws MessagingException
MessagingException
- 失敗 public abstract void setSubject(StringSE subject) throws MessagingException
subject
- 件名 IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合 IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合 public abstract DateSE getSentDate() throws MessagingException
MessagingException
- 失敗 public abstract void setSentDate(DateSE date) throws MessagingException
date
- このメッセージの送信日 IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合 IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合 public abstract DateSE getReceivedDate() throws MessagingException
MessagingException
- 失敗 public abstract Flags getFlags() throws MessagingException
Flags
オブジェクトを返します。 この返された Flags オブジェクトのフラグを変更しても、このメッセージのフラグには影響しません。これを行うには、setFlags()
を使用します。
MessagingException
- 失敗 Flags
, setFlags(javax.mail.Flags, boolean)
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
public abstract void setFlags(Flags flag, boolean set) throws MessagingException
Flags
オブジェクトで指定されていないこのメッセージのフラグは影響を受けないことに注意してください。 これにより、MessageChangedEvent
がこのメッセージの格納フォルダーに登録されている MessageChangedListener に配信されます。
flag
- 設定するフラグを含む Flags オブジェクト set
- 設定する値 IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合。IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合 MessageChangedEvent
public void setFlag(Flags.Flag flag, boolean set) throws MessagingException
MessageChangedEvent
がこのメッセージの格納フォルダーに登録されている MessageChangedListener に配信されます。 デフォルトの実装では、setFlags
メソッドを使用します。
flag
- 設定するフラグを含む Flags.Flag オブジェクト set
- 設定する値 IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合。IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合 MessageChangedEvent
public int getMessageNumber()
有効なメッセージ番号は 1 から始まります。どのフォルダーにも属さないメッセージ(新しく作成されたメッセージや派生メッセージなど)は、メッセージ番号として 0 を持っています。
protected void setMessageNumber(int msgnum)
msgnum
- メッセージ番号 public Folder getFolder()
public boolean isExpunged()
getMessageNumber()
を除く他のすべてのメソッドは、消去されたメッセージオブジェクトでは無効です。 含まれているフォルダーに対する明示的な expunge()
リクエストが原因で消去されたメッセージは、すぐにフォルダーから削除されます。別のソースによって外部で消去されたメッセージは、「消去済み」とマークされ、isExpunged() メソッドに対して true を返しますが、フォルダーで明示的な expunge()
が実行されるまで、フォルダーから削除されません。
消去処理の詳細については、expunge()
の説明を参照してください。
Folder.expunge()
protected void setExpunged(boolean expunged)
expunged
- 抹消された旗 public abstract Message reply(boolean replyToAll) throws MessagingException
replyToAll
が設定されている場合、新しいメッセージはこのメッセージのすべての受信者に送信されます。それ以外の場合、返信はこのメッセージの送信者のみに送信されます(getReplyTo
メソッドの値を使用)。
「サブジェクト」フィールドには、"Re:" で始まる元の件名が入力されます(すでに "Re:" で始まっている場合を除く)。
返信メッセージは、このメッセージと同じセッションを使用します。
replyToAll
- このメッセージのすべての受信者に返信を送信する必要があります MessagingException
- 失敗 public abstract void saveChanges() throws MessagingException
READ_ONLY で開かれたフォルダーから取得されたメッセージは変更してはならず、そのようなメッセージに対して saveChanges を呼び出してはなりません。
IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合。MessagingException
- その他の障害の場合 public boolean match(SearchTerm term) throws MessagingException
term
- 検索基準 MessagingException
- 失敗 SearchTerm
Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.