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, waitSEaddHeader, getAllHeaders, getContent, getContentType, getDataHandler, getDescription, getDisposition, getFileName, getHeader, getInputStream, getLineCount, getMatchingHeaders, getNonMatchingHeaders, getSize, isMimeType, removeHeader, setContent, setContent, setDataHandler, setDescription, setDisposition, setFileName, setHeader, setText, writeToprotected 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 MessagingExceptionIllegalWriteException - 基本となる実装が既存の値の変更をサポートしていない場合 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.BCCpublic 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.SEENpublic abstract void setFlags(Flags flag, boolean set) throws MessagingException
Flags オブジェクトで指定されていないこのメッセージのフラグは影響を受けないことに注意してください。 これにより、MessageChangedEvent がこのメッセージの格納フォルダーに登録されている MessageChangedListener に配信されます。
flag - 設定するフラグを含む Flags オブジェクト set - 設定する値 IllegalWriteException - 基本となる実装が既存の値の変更をサポートしていない場合。IllegalStateExceptionSE - このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException - その他の障害の場合 MessageChangedEventpublic void setFlag(Flags.Flag flag, boolean set) throws MessagingException
MessageChangedEvent がこのメッセージの格納フォルダーに登録されている MessageChangedListener に配信されます。 デフォルトの実装では、setFlags メソッドを使用します。
flag - 設定するフラグを含む Flags.Flag オブジェクト set - 設定する値 IllegalWriteException - 基本となる実装が既存の値の変更をサポートしていない場合。IllegalStateExceptionSE - このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException - その他の障害の場合 MessageChangedEventpublic 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 MessagingExceptionREAD_ONLY で開かれたフォルダーから取得されたメッセージは変更してはならず、そのようなメッセージに対して saveChanges を呼び出してはなりません。
IllegalStateExceptionSE - このメッセージが READ_ONLY フォルダーから取得された場合。IllegalWriteException - 基本となる実装が既存の値の変更をサポートしていない場合。MessagingException - その他の障害の場合 public boolean match(SearchTerm term) throws MessagingException
term - 検索基準 MessagingException - 失敗 SearchTermCopyright © 2019 Eclipse Foundation.
Use is subject to license terms.