クラス Message
- java.lang.ObjectSE
-
- jakarta.mail.Message
- 実装されているすべてのインターフェース:
Part
- 既知の直属サブクラス
MimeMessage
public abstract class Message extends ObjectSE implements Part
このクラスはメールメッセージをモデル化します。これは抽象クラスです。サブクラスは実際の実装を提供します。メッセージは Part インターフェースを実装します。メッセージには、一連の属性と「コンテンツ」が含まれています。フォルダー内のメッセージには、フォルダー内の状態を示すフラグのセットもあります。
メッセージは、
Partインターフェースで定義された属性に加えて、いくつかの新しい属性を定義します。これらの属性は、メッセージのメタデータ、つまり、メッセージのアドレス指定と説明情報を指定します。メッセージオブジェクトは、フォルダーから、または適切なサブクラスの新しいメッセージオブジェクトを作成することによって取得されます。受信したメッセージは通常 "INBOX" という名前のフォルダーから取得されます。
フォルダーから取得した Message オブジェクトは、実際のメッセージへの軽量な参照です。メッセージは、各アイテムがメッセージからリクエストされたときに(オンデマンドで)「遅延」で埋められます。特定のフォルダー実装は、特定のユーザー指定の項目が事前に入力された Message オブジェクトを返す場合があることに注意してください。メッセージを送信するには、メッセージの適切なサブクラス(MimeMessage など)がインスタンス化され、属性とコンテンツが入力され、
Transport.sendメソッドを使用してメッセージが送信されます。- 作成者:
- John Mani, Bill Shannon, Max Spivak
- 関連事項:
Part
ネストされたクラスの要約
ネストされたクラス 修飾子と型 クラス 説明 static classMessage.RecipientTypeこの内部クラスは、メッセージクラスで許可される受信者の型を定義します。
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 protected booleanexpungedこのメッセージが消去されている場合は true。protected Folderfolderこのメッセージがフォルダーから取得された場合、包含フォルダーprotected intmsgnumフォルダー内のこのメッセージの数。メッセージがフォルダーから取得されなかった場合はゼロ。protected Sessionsessionこのメッセージの Session オブジェクトインターフェース jakarta.mail.Part から継承されたフィールド
ATTACHMENT, INLINE
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 abstract voidaddFrom(Address[] addresses)これらのアドレスを既存の "From" 属性に追加しますvoidaddRecipient(Message.RecipientType type, Address address)この受信者アドレスを、指定された型の既存のアドレスに追加します。abstract voidaddRecipients(Message.RecipientType type, Address[] addresses)これらの受信者アドレスを、指定された型の既存のアドレスに追加します。Address[]getAllRecipients()メッセージのすべての受信者アドレスを取得します。abstract FlagsgetFlags()このメッセージのフラグを含むFlagsオブジェクトを返します。FoldergetFolder()このメッセージの取得元のフォルダーを取得します。abstract Address[]getFrom()"From" 属性を返します。intgetMessageNumber()このメッセージのメッセージ番号を取得します。abstract DateSEgetReceivedDate()このメッセージが受信された日付を取得します。abstract Address[]getRecipients(Message.RecipientType type)指定された型のすべての受信者アドレスを取得します。Address[]getReplyTo()返信先のアドレスを取得します。abstract DateSEgetSentDate()このメッセージが送信された日付を取得します。SessiongetSession()このメッセージが作成されたときに使用されたセッションを返します。abstract StringSEgetSubject()このメッセージの件名を取得します。booleanisExpunged()このメッセージが消去されたかどうかを確認します。booleanisSet(Flags.Flag flag)このメッセージに、flag引数で指定されたフラグが設定されているかどうかを確認します。booleanmatch(SearchTerm term)指定した検索条件をこのメッセージに適用します。abstract Messagereply(boolean replyToAll)このメッセージへの返信に適した新しいメッセージを取得します。abstract voidsaveChanges()メッセージがフォルダーに含まれている場合は、含まれているフォルダーが閉じているときに、このメッセージに加えられた変更をメッセージストアに保存します。protected voidsetExpunged(boolean expunged)このメッセージの消去済みフラグを設定します。voidsetFlag(Flags.Flag flag, boolean set)このメッセージの指定されたフラグを指定された値に設定します。abstract voidsetFlags(Flags flag, boolean set)このメッセージの指定されたフラグを指定された値に設定します。abstract voidsetFrom()このメッセージに "From" 属性を設定します。abstract voidsetFrom(Address address)このメッセージに "From" 属性を設定します。protected voidsetMessageNumber(int msgnum)このメッセージのメッセージ番号を設定します。voidsetRecipient(Message.RecipientType type, Address address)受信者アドレスを設定します。abstract voidsetRecipients(Message.RecipientType type, Address[] addresses)受信者アドレスを設定します。voidsetReplyTo(Address[] addresses)返信先のアドレスを設定します。abstract voidsetSentDate(DateSE date)このメッセージの送信日を設定します。abstract voidsetSubject(StringSE subject)このメッセージの件名を設定します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース jakarta.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
コンストラクターの詳細
Message
protected Message()
引数のないコンストラクターのバージョン。
Message
protected Message(Folder folder, int msgnum)
フォルダーとメッセージ番号を受け取るコンストラクター。フォルダーの実装で使用されます。- パラメーター:
folder- 含まれるフォルダーmsgnum- このフォルダー内のこのメッセージのシーケンス番号
Message
protected Message(Session session)
セッションを取るコンストラクター。クライアントが作成した Message オブジェクトに使用されます。- パラメーター:
session- Session オブジェクト
メソッドの詳細
getSession
public Session getSession()
このメッセージが作成されたときに使用されたセッションを返します。- 戻り値:
- メッセージのセッション
- 導入:
- JavaMail 1.5
getFrom
public abstract Address[] getFrom() throws MessagingException
"From" 属性を返します。"From" 属性には、このメッセージの送信を希望した人の ID が含まれています。特定の実装では、これは実際にメッセージを送信したエンティティとは異なる場合があります。
この属性がこのメッセージに存在しない場合、このメソッドは
nullを返します。この属性は存在するがアドレスが含まれていない場合は、空の配列を返します。- 戻り値:
- Address オブジェクトの配列
- 例外:
MessagingException- 失敗
setFrom
public abstract void setFrom() throws MessagingExceptionこのメッセージで "From" 属性を設定します。この属性の値は、プロパティ "mail.user" から取得されます。このプロパティがない場合は、システムプロパティ "user.name" が使用されます。- 例外:
IllegalWriteException- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException- その他の障害の場合
setFrom
public abstract void setFrom(Address address) throws MessagingException
このメッセージに "From" 属性を設定します。- パラメーター:
address- 送り主- 例外:
IllegalWriteException- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException- その他の障害の場合
addFrom
public abstract void addFrom(Address[] addresses) throws MessagingException
これらのアドレスを既存の "From" 属性に追加します- パラメーター:
addresses- 送信者- 例外:
IllegalWriteException- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE- このメッセージが 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(jakarta.mail.Message.RecipientType)
setRecipients
public abstract void setRecipients(Message.RecipientType type, Address[] addresses) throws MessagingException
受信者アドレスを設定します。指定された型のすべてのアドレスは、addresses パラメーターで置き換えられます。- パラメーター:
type- 受信者の型addresses- アドレス- 例外:
IllegalWriteException- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException- その他の障害の場合
setRecipient
public void setRecipient(Message.RecipientType type, Address address) throws MessagingException
受信者アドレスを設定します。指定された型のすべてのアドレスは、アドレスパラメーターによって置き換えられます。デフォルトの実装では、
setRecipientsメソッドを使用します。- パラメーター:
type- 受信者の型address- 住所・アドレス- 例外:
IllegalWriteException- 基本となる実装が既存の値の変更をサポートしていない場合MessagingException- その他の障害の場合
addRecipients
public abstract void addRecipients(Message.RecipientType type, Address[] addresses) throws MessagingException
これらの受信者アドレスを、指定された型の既存のアドレスに追加します。- パラメーター:
type- 受信者の型addresses- アドレス- 例外:
IllegalWriteException- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException- その他の障害の場合
addRecipient
public void addRecipient(Message.RecipientType type, Address address) throws MessagingException
この受信者アドレスを、指定された型の既存のアドレスに追加します。デフォルトの実装では、
addRecipientsメソッドを使用します。- パラメーター:
type- 受信者の型address- 住所・アドレス- 例外:
IllegalWriteException- 基本となる実装が既存の値の変更をサポートしていない場合MessagingException- その他の障害の場合
getReplyTo
public Address[] getReplyTo() throws MessagingException
返信先のアドレスを取得します。これは通常メッセージの送信者ですが、一部のメッセージは返信を別のアドレスに送信する場合があります。デフォルトの実装では、単に
getFromメソッドを呼び出します。対応するヘッダーが存在しない場合、このメソッドは
nullを返します。ヘッダーはあるがアドレスが含まれていない場合は、空の配列を返します。- 戻り値:
- 返信先のアドレス
- 例外:
MessagingException- 失敗- 関連事項:
getFrom()
setReplyTo
public void setReplyTo(Address[] addresses) throws MessagingException
返信先のアドレスを設定します。(通常、単一のアドレスのみが指定されます)すべてのメッセージ型で、これをメッセージの送信者とは別に指定できるわけではありません。ここで提供されるデフォルトの実装は、MethodNotSupportedException をスローするだけです。
- パラメーター:
addresses- 返信先のアドレス- 例外:
IllegalWriteException- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE- このメッセージが READ_ONLY フォルダーから取得された場合。MethodNotSupportedException- 基本となる実装がこの属性の設定をサポートしていない場合MessagingException- その他の障害の場合
getSubject
public abstract StringSE getSubject() throws MessagingException
このメッセージの件名を取得します。- 戻り値:
- 件名
- 例外:
MessagingException- 失敗
setSubject
public abstract void setSubject(StringSE subject) throws MessagingException
このメッセージの件名を設定します。- パラメーター:
subject- 件名- 例外:
IllegalWriteException- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException- その他の障害の場合
getSentDate
public abstract DateSE getSentDate() throws MessagingException
このメッセージが送信された日付を取得します。- 戻り値:
- このメッセージが送信された日付
- 例外:
MessagingException- 失敗
setSentDate
public abstract void setSentDate(DateSE date) throws MessagingException
このメッセージの送信日を設定します。- パラメーター:
date- このメッセージの送信日- 例外:
IllegalWriteException- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException- その他の障害の場合
getReceivedDate
public abstract DateSE getReceivedDate() throws MessagingException
このメッセージが受信された日付を取得します。- 戻り値:
- このメッセージが受信された日付
- 例外:
MessagingException- 失敗
getFlags
public abstract Flags getFlags() throws MessagingException
このメッセージのフラグを含むFlagsオブジェクトを返します。この返された Flags オブジェクトのフラグを変更しても、このメッセージのフラグには影響しません。これを行うには、
setFlags()を使用します。- 戻り値:
- このメッセージのフラグを含む Flags オブジェクト
- 例外:
MessagingException- 失敗- 関連事項:
Flags,setFlags(jakarta.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オブジェクトで指定されていないこのメッセージのフラグは影響を受けないことに注意してください。これにより、
MessageChangedEventがこのメッセージの格納フォルダーに登録されている MessageChangedListener に配信されます。- パラメーター:
flag- 設定するフラグを含む Flags オブジェクトset- 設定する値- 例外:
IllegalWriteException- 基本となる実装が既存の値の変更をサポートしていない場合。IllegalStateExceptionSE- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException- その他の障害の場合- 関連事項:
MessageChangedEvent
setFlag
public void setFlag(Flags.Flag flag, boolean set) throws MessagingException
このメッセージの指定されたフラグを指定された値に設定します。これにより、MessageChangedEventがこのメッセージの格納フォルダーに登録されている MessageChangedListener に配信されます。デフォルトの実装では、
setFlagsメソッドを使用します。- パラメーター:
flag- 設定するフラグを含む Flags.Flag オブジェクトset- 設定する値- 例外:
IllegalWriteException- 基本となる実装が既存の値の変更をサポートしていない場合。IllegalStateExceptionSE- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException- その他の障害の場合- 関連事項:
MessageChangedEvent
getMessageNumber
public int getMessageNumber()
このメッセージのメッセージ番号を取得します。Message オブジェクトのメッセージ番号は、このメッセージのフォルダー内での相対的な位置です。フォルダー内の他のメッセージが削除されて消去されると、特定のメッセージのメッセージ番号がセッション中に変更される可能性があることに注意してください。有効なメッセージ番号は 1 から始まります。どのフォルダーにも属さないメッセージ(新しく作成されたメッセージや派生メッセージなど)は、メッセージ番号として 0 を持っています。
- 戻り値:
- メッセージ番号
setMessageNumber
protected void setMessageNumber(int msgnum)
このメッセージのメッセージ番号を設定します。このメソッドは、実装クラスによってのみ呼び出されます。- パラメーター:
msgnum- メッセージ番号
getFolder
public Folder getFolder()
このメッセージの取得元のフォルダーを取得します。これが新しいメッセージまたはネストされたメッセージの場合、このメソッドは null を返します。- 戻り値:
- 含まれるフォルダー
isExpunged
public boolean isExpunged()
このメッセージが消去されたかどうかを確認します。getMessageNumber()を除く他のすべてのメソッドは、消去されたメッセージオブジェクトでは無効です。含まれているフォルダーに対する明示的な
expunge()リクエストが原因で消去されたメッセージは、すぐにフォルダーから削除されます。別のソースによって外部で消去されたメッセージは、「消去済み」とマークされ、isExpunged() メソッドに対して true を返しますが、フォルダーで明示的なexpunge()が実行されるまで、フォルダーから削除されません。消去処理の詳細については、
expunge()の説明を参照してください。- 戻り値:
- メッセージが消去された場合は true
- 関連事項:
Folder.expunge()
setExpunged
protected void setExpunged(boolean expunged)
このメッセージの消去済みフラグを設定します。このメソッドは、実装クラスでのみ使用されます。- パラメーター:
expunged- 抹消された旗
reply
public abstract Message reply(boolean replyToAll) throws MessagingException
このメッセージへの返信に適した新しいメッセージを取得します。新しいメッセージには、属性とヘッダーが適切に設定されます。この新しいメッセージオブジェクトは空であることに注意してください。つまり、「コンテンツ」はありません。これらは、クライアントが適切に入力する必要があります。replyToAllが設定されている場合、新しいメッセージはこのメッセージのすべての受信者に送信されます。それ以外の場合、返信はこのメッセージの送信者のみに送信されます(getReplyToメソッドの値を使用)。「サブジェクト」フィールドには、"Re:" で始まる元の件名が入力されます(すでに "Re:" で始まっている場合を除く)。
返信メッセージは、このメッセージと同じセッションを使用します。
- パラメーター:
replyToAll- このメッセージのすべての受信者に返信を送信する必要があります- 戻り値:
- 返信メッセージ
- 例外:
MessagingException- 失敗
saveChanges
public abstract void saveChanges() throws MessagingExceptionメッセージがフォルダーに含まれている場合、そのフォルダーが閉じられるときに、このメッセージに加えられた変更をメッセージストアに保存します。(一部の実装では、変更がすぐに保存される場合があります) 変更されたメッセージの内容と一致するように、ヘッダーフィールドを更新します。メッセージのヘッダーまたは内容の一部が変更された場合は、それらの変更が永続的であることを確認するために、saveChanges を呼び出す必要があります。saveChanges が呼び出されない場合、メッセージストアとフォルダーの実装に応じて、そのような変更が保存される場合とされない場合があります。READ_ONLY で開かれたフォルダーから取得されたメッセージは変更してはならず、そのようなメッセージに対して saveChanges を呼び出してはなりません。
- 例外:
IllegalStateExceptionSE- このメッセージが READ_ONLY フォルダーから取得された場合。IllegalWriteException- 基本となる実装が既存の値の変更をサポートしていない場合。MessagingException- その他の障害の場合
match
public boolean match(SearchTerm term) throws MessagingException
指定した検索条件をこのメッセージに適用します。- パラメーター:
term- 検索基準- 戻り値:
- メッセージがこの検索条件に一致する場合は true、そうでない場合は false。
- 例外:
MessagingException- 失敗- 関連事項:
SearchTerm