クラス MimeMessage
- java.lang.ObjectSE
-
- jakarta.mail.Message
-
- jakarta.mail.internet.MimeMessage
public class MimeMessage extends Message implements MimePart
このクラスは、MIME スタイルのメールメッセージを表します。Message
抽象クラスとMimePart
インターフェースを実装します。新しい MIME スタイルのメッセージを作成したいクライアントは、空の MimeMessage オブジェクトをインスタンス化し、適切な属性とコンテンツで埋めます。
MIME 準拠のバックエンドストアを実装するサービスプロバイダーは、MimeMessage をサブクラス化し、特定の実装を提供するために特定のメソッドをオーバーライドする場合があります。最も単純なケースは、おそらく MIME スタイルの入力ストリームを生成し、ストリームの解析をこのクラスに任せるプロバイダーです。
MimeMessage は、
InternetHeaders
クラスを使用して、メッセージのトップレベル RFC 822 ヘッダーを解析および保存します。mail.mime.address.strict
セッションプロパティは、アドレスヘッダーの解析を制御します。デフォルトでは、アドレスヘッダーの厳密な解析が行われます。このプロパティが"false"
に設定されている場合、厳密な解析は行われず、実際のメッセージで時々発生する多くの不正なアドレスが許可されます。詳細については、InternetAddress
クラスを参照してください。
RFC 822 および MIME ヘッダーに関する注意RFC 822 ヘッダーフィールドに は、US-ASCII 文字のみを含める必要があります。MIME では、ASCII 以外の文字をエンコードすることにより、それらの文字を特定のヘッダーの特定の部分に含めることができます。RFC 2047 は、これを行うためのルールを指定しています。このパッケージで提供される MimeUtility クラスを使用して、これを実現できます。
setHeader
、addHeader
、addHeaderLine
メソッドの呼び出し元は、指定されたヘッダーの MIME 要件を適用する責任があります。さらに、これらのヘッダーフィールドは、トランスポートの行長制限(SMTP の場合は 1000 バイト)を超える場合は、送信する前に折りたたむ(折り返す)必要があります。受信したヘッダーが折りたたまれている可能性があります。アプリケーションは、必要に応じてヘッダーを折りたたんだり展開したりする責任があります。- 作成者:
- John Mani, Bill Shannon, Max Spivak, Kanwar Oberoi
- 関連事項:
MimeUtility
,Part
,Message
,MimePart
,InternetAddress
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 クラス 説明 static class
MimeMessage.RecipientType
この内部クラスは jakarta.mail.Message.RecipientType クラスを継承して RecipientTypes を追加します。
フィールドサマリー
フィールド 修飾子と型 フィールド 説明 protected ObjectSE
cachedContent
コンテンツが Multipart または Message オブジェクトである場合、含まれるオブジェクトへの変更が失われないように、ストリームを解析して最初に作成したときに保存します。protected byte[]
content
このメッセージのコンテンツのバイトを保持するバイト配列。protected InputStreamSE
contentStream
このメッセージのデータが SharedInputStream インターフェースを実装する InputStream によって提供された場合、contentStream
はこのメッセージの内容を表す別のストリームです。protected DataHandler
dh
このメッセージのコンテンツを表す DataHandler オブジェクト。protected Flags
flags
このメッセージのフラグ。protected InternetHeaders
headers
このメッセージのヘッダーを格納する InternetHeaders オブジェクト。protected boolean
modified
メッセージが変更されたかどうかを示すフラグ。protected boolean
saved
このメッセージでsaveChanges
メソッドを呼び出す必要がありますか? このフラグは、public コンストラクターによって false に設定され、saveChanges
メソッドによって true に設定されます。インターフェース jakarta.mail.Part から継承されたフィールド
ATTACHMENT, INLINE
コンストラクターのサマリー
コンストラクター 修飾子 コンストラクター 説明 protected
MimeMessage(Folder folder, int msgnum)
指定された Folder とメッセージ番号で空の MimeMessage オブジェクトを構築します。protected
MimeMessage(Folder folder, InternetHeaders headers, byte[] content, int msgnum)
指定された InternetHeaders オブジェクトとコンテンツから MimeMessage を構築します。protected
MimeMessage(Folder folder, InputStreamSE is, int msgnum)
指定された MIME InputStream からデータを読み取って解析することにより、MimeMessage を構築します。MimeMessage(MimeMessage source)
source
MimeMessage から初期化されたコンテンツで新しい MimeMessage を構築します。MimeMessage(Session session)
デフォルトコンストラクター。MimeMessage(Session session, InputStreamSE is)
指定された MIME InputStream からデータを読み取って解析することにより、MimeMessage を構築します。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 void
addFrom(Address[] addresses)
指定したアドレスを既存の「差出人」フィールドに追加します。void
addHeader(StringSE name, StringSE value)
この値をこの header_name の既存の値に追加します。void
addHeaderLine(StringSE line)
生の RFC 822 ヘッダー行を追加します。void
addRecipients(Message.RecipientType type, Address[] addresses)
指定されたアドレスを指定された受信者型に追加します。void
addRecipients(Message.RecipientType type, StringSE addresses)
指定されたアドレスを指定された受信者型に追加します。protected InternetHeaders
createInternetHeaders(InputStreamSE is)
指定された InputStream からヘッダーをロードする InternetHeaders オブジェクトを作成して返します。protected MimeMessage
createMimeMessage(Session session)
MimeMessage オブジェクトを作成して返します。EnumerationSE<StringSE>
getAllHeaderLines()
すべてのヘッダー行を文字列の列挙として取得します。EnumerationSE<Header>
getAllHeaders()
この Message のすべてのヘッダーを Header オブジェクトの列挙として返します。Address[]
getAllRecipients()
メッセージのすべての受信者アドレスを取得します。ObjectSE
getContent()
コンテンツを Java オブジェクトとして返します。StringSE
getContentID()
"Content-ID" ヘッダーフィールドの値を返します。StringSE[]
getContentLanguage()
このメッセージの "Content-Language" ヘッダーフィールドで指定された言語を取得します。StringSE
getContentMD5()
"Content-MD5" ヘッダーフィールドの値を返します。protected InputStreamSE
getContentStream()
コンテンツの生のバイトを生成します。StringSE
getContentType()
RFC 822 "Content-Type" ヘッダーフィールドの値を返します。DataHandler
getDataHandler()
このメッセージのコンテンツの DataHandler を返します。StringSE
getDescription()
このメッセージの "Content-Description" ヘッダーフィールドを返します。StringSE
getDisposition()
"Content-Disposition" ヘッダーフィールドから後処理を返します。StringSE
getEncoding()
"Content-Transfer-Encoding" ヘッダーフィールドからコンテンツ転送エンコーディングを返します。StringSE
getFileName()
このメッセージに関連付けられているファイル名を取得します。Flags
getFlags()
このメッセージのフラグを含むFlags
オブジェクトを返します。Address[]
getFrom()
RFC 822 の "From" ヘッダーフィールドの値を返します。StringSE[]
getHeader(StringSE name)
この header_name のすべてのヘッダーを取得します。StringSE
getHeader(StringSE name, StringSE delimiter)
このヘッダー名のすべてのヘッダーを取得します。ヘッダーは区切り文字で区切られ、単一の文字列として返されます。InputStreamSE
getInputStream()
このメッセージの「コンテンツ」のデコードされた入力ストリームを返します。int
getLineCount()
このメッセージのコンテンツの行数を返します。EnumerationSE<StringSE>
getMatchingHeaderLines(StringSE[] names)
一致するヘッダー行を文字列の列挙として取得します。EnumerationSE<Header>
getMatchingHeaders(StringSE[] names)
この Message から一致するヘッダーを Header オブジェクトの列挙として返します。StringSE
getMessageID()
"Message-ID" ヘッダーフィールドの値を返します。EnumerationSE<StringSE>
getNonMatchingHeaderLines(StringSE[] names)
一致しないヘッダー行を文字列の列挙として取得します。EnumerationSE<Header>
getNonMatchingHeaders(StringSE[] names)
このメッセージから一致しないヘッダーをヘッダーオブジェクトの列挙として返します。InputStreamSE
getRawInputStream()
Content-Transfer-Encoding をそのままにして、InputStream を生データに戻します。DateSE
getReceivedDate()
このメッセージが受信された日付を返します。Address[]
getRecipients(Message.RecipientType type)
型で指定された受信者を返します。Address[]
getReplyTo()
RFC 822 "Reply-To" ヘッダーフィールドの値を返します。Address
getSender()
RFC 822 "Sender" ヘッダーフィールドの値を返します。DateSE
getSentDate()
RFC 822「日付」フィールドの値を返します。int
getSize()
このメッセージのコンテンツのサイズをバイト単位で返します。StringSE
getSubject()
「サブジェクト」ヘッダーフィールドの値を返します。boolean
isMimeType(StringSE mimeType)
これは指定された MIME 型の一部ですか? このメソッドは、primaryType
とsubType
のみを比較します。boolean
isSet(Flags.Flag flag)
このメッセージに、flag
引数で指定されたフラグが設定されているかどうかを確認します。protected void
parse(InputStreamSE is)
InputStream を解析して、headers
およびcontent
フィールドを適切に設定します。void
removeHeader(StringSE name)
この名前のすべてのヘッダーを削除します。Message
reply(boolean replyToAll)
このメッセージへの返信に適した新しいメッセージを取得します。Message
reply(boolean replyToAll, boolean setAnswered)
このメッセージへの返信に適した新しいメッセージを取得します。void
saveChanges()
メッセージの内容と一致するように、このメッセージの適切なヘッダーフィールドを更新します。void
setContent(Multipart mp)
このメソッドは、メッセージのコンテンツをマルチパートオブジェクトに設定します。void
setContent(ObjectSE o, StringSE type)
このメッセージのコンテンツを設定するための便利なメソッド。void
setContentID(StringSE cid)
このメッセージの "Content-ID" ヘッダーフィールドを設定します。void
setContentLanguage(StringSE[] languages)
この MimePart の "Content-Language" ヘッダーを設定します。void
setContentMD5(StringSE md5)
このメッセージの "Content-MD5" ヘッダーフィールドを設定します。void
setDataHandler(DataHandler dh)
このメソッドは、このパーツのコンテンツを設定するメカニズムを提供します。void
setDescription(StringSE description)
このメッセージの "Content-Description" ヘッダーフィールドを設定します。void
setDescription(StringSE description, StringSE charset)
このメッセージの "Content-Description" ヘッダーフィールドを設定します。void
setDisposition(StringSE disposition)
このボディパーツの "Content-Disposition" ヘッダーフィールドで後処理を設定します。void
setFileName(StringSE filename)
可能であれば、このパーツに関連付けられたファイル名を設定します。void
setFlags(Flags flag, boolean set)
このメッセージのフラグを設定します。void
setFrom()
InternetAddress.getLocalAddress
メソッドの値を使用して、RFC 822 "From" ヘッダーフィールドを設定します。void
setFrom(Address address)
RFC 822 "From" ヘッダーフィールドを設定します。void
setFrom(StringSE address)
RFC 822 "From" ヘッダーフィールドを設定します。void
setHeader(StringSE name, StringSE value)
この header_name の値を設定します。void
setRecipients(Message.RecipientType type, Address[] addresses)
指定された受信者型を指定されたアドレスに設定します。void
setRecipients(Message.RecipientType type, StringSE addresses)
指定された受信者型を指定されたアドレスに設定します。void
setReplyTo(Address[] addresses)
RFC 822 "Reply-To" ヘッダーフィールドを設定します。void
setSender(Address address)
RFC 822 "Sender" ヘッダーフィールドを設定します。void
setSentDate(DateSE d)
RFC 822 "Date" ヘッダーフィールドを設定します。void
setSubject(StringSE subject)
「サブジェクト」ヘッダーフィールドを設定します。void
setSubject(StringSE subject, StringSE charset)
「サブジェクト」ヘッダーフィールドを設定します。void
setText(StringSE text)
指定された文字列をこのパーツのコンテンツとして設定する便利なメソッド。MIME 型は "text/plain" です。void
setText(StringSE text, StringSE charset)
指定された文字列をこのパーツのコンテンツとして設定する便利なメソッド。MIME 型は "text/plain" で、指定された文字セットを使用します。void
setText(StringSE text, StringSE charset, StringSE subtype)
指定された String をこのパートのコンテンツとして設定する簡易メソッド。プライマリ MIME 型は「テキスト」で、指定された MIME サブ型を使用します。protected void
updateHeaders()
saveChanges
メソッドによって呼び出され、実際に MIME ヘッダーを更新します。protected void
updateMessageID()
Message-ID ヘッダーを更新します。void
writeTo(OutputStreamSE os)
メッセージを RFC 822 形式のストリームとして出力します。void
writeTo(OutputStreamSE os, StringSE[] ignoreList)
ヘッダーを指定せずに、メッセージを RFC 822 形式のストリームとして出力します。クラス jakarta.mail.Message から継承されたメソッド
addRecipient, getFolder, getMessageNumber, getSession, isExpunged, match, setExpunged, setFlag, setMessageNumber, setRecipient
フィールドの詳細
dh
protected DataHandler dh
このメッセージのコンテンツを表す DataHandler オブジェクト。
content
protected byte[] content
このメッセージのコンテンツのバイトを保持するバイト配列。
contentStream
protected InputStreamSE contentStream
このメッセージのデータが SharedInputStream インターフェースを実装する InputStream によって提供された場合、contentStream
はこのメッセージのコンテンツを表すもう 1 つのストリームです。この場合、content
は null になります。- 導入:
- JavaMail 1.2
headers
protected InternetHeaders headers
このメッセージのヘッダーを格納する InternetHeaders オブジェクト。
flags
protected Flags flags
このメッセージのフラグ。
modified
protected boolean modified
メッセージが変更されたかどうかを示すフラグ。メッセージが変更されていない場合、content
配列内のデータはすべて有効であると見なされ、writeTo
メソッドで直接使用されます。空のメッセージが作成されたとき、またはsaveChanges
メソッドが呼び出されたときに、このフラグは true に設定されます。- 導入:
- JavaMail 1.2
saved
protected boolean saved
このメッセージでsaveChanges
メソッドを呼び出す必要がありますか? このフラグは、public コンストラクターによって false に設定され、saveChanges
メソッドによって true に設定されます。writeTo
メソッドはこのフラグをチェックし、必要に応じてsaveChanges
メソッドを呼び出します。これにより、新しく作成されたメッセージでsaveChanges
メソッドを呼び出すのを忘れるというよくある間違いを回避できます。- 導入:
- JavaMail 1.2
cachedContent
protected ObjectSE cachedContent
コンテンツが Multipart または Message オブジェクトである場合、含まれるオブジェクトへの変更が失われないように、ストリームを解析して最初に作成したときに保存します。このフィールドが null でない場合、
getContent()
メソッドによって返されます。getContent()
メソッドは、Multipart または MimeMessage オブジェクトを返す場合にこのフィールドを設定します。このフィールドは、setDataHandler(jakarta.activation.DataHandler)
メソッドによってクリアされます。- 導入:
- JavaMail 1.5
コンストラクターの詳細
MimeMessage
public MimeMessage(Session session)
デフォルトのコンストラクター。空のメッセージオブジェクトが作成されます。headers
フィールドは空の InternetHeaders オブジェクトに設定されます。flags
フィールドは、空の Flags オブジェクトに設定されます。modified
フラグは true に設定されています。- パラメーター:
session
- セッション
MimeMessage
public MimeMessage(Session session, InputStreamSE is) throws MessagingException
指定された MIME InputStream からデータを読み取って解析することにより、MimeMessage を構築します。InputStream は、メッセージのデータの最後に配置されたままになります。入力ストリームの解析は、このコンストラクター自体の中で行われることに注意してください。入力ストリームには、ヘッダーとデータを含む MIME 形式のメッセージ全体が含まれています。
- パラメーター:
session
- このメッセージのセッションオブジェクトis
- メッセージ入力ストリーム- 例外:
MessagingException
- 失敗
MimeMessage
public MimeMessage(MimeMessage source) throws MessagingException
source
MimeMessage から初期化されたコンテンツで新しい MimeMessage を構築します。新しいメッセージは元のメッセージから独立しています。メモ: 現在の実装はかなり非効率的で、厳密に必要な回数よりも多くの回数データをコピーします。
- パラメーター:
source
- コンテンツをコピーするメッセージ- 例外:
MessagingException
- 失敗- 導入:
- JavaMail 1.2
MimeMessage
protected MimeMessage(Folder folder, int msgnum)
指定された Folder とメッセージ番号で空の MimeMessage オブジェクトを構築します。このメソッドは、
MimeMessage
をサブクラス化するプロバイダー用です。- パラメーター:
folder
- このメッセージの送信元のフォルダーmsgnum
- このメッセージの数
MimeMessage
protected MimeMessage(Folder folder, InputStreamSE is, int msgnum) throws MessagingException
指定された MIME InputStream からデータを読み取って解析することにより、MimeMessage を構築します。InputStream は、メッセージのデータの最後に配置されたままになります。入力ストリームの解析は、このコンストラクター自体の中で行われることに注意してください。このメソッドは、
MimeMessage
をサブクラス化するプロバイダー用です。- パラメーター:
folder
- 含まれているフォルダー。is
- メッセージ入力ストリームmsgnum
- フォルダー内のこのメッセージのメッセージ番号- 例外:
MessagingException
- 失敗
MimeMessage
protected MimeMessage(Folder folder, InternetHeaders headers, byte[] content, int msgnum) throws MessagingException
指定された InternetHeaders オブジェクトとコンテンツから MimeMessage を構築します。このメソッドは、MimeMessage
をサブクラス化するプロバイダー用です。- パラメーター:
folder
- 含まれているフォルダー。headers
- ヘッダーcontent
- メッセージの内容msgnum
- フォルダー内のこのメッセージのメッセージ番号- 例外:
MessagingException
- 失敗
メソッドの詳細
parse
protected void parse(InputStreamSE is) throws MessagingException
headers
およびcontent
フィールドを適切に設定して InputStream を解析します。modified
フラグもリセットします。このメソッドは、InputStream を解析するタイミングを制御する必要があるサブクラスで使用するためのものです。
- パラメーター:
is
- メッセージ入力ストリーム- 例外:
MessagingException
- 失敗
getFrom
public Address[] getFrom() throws MessagingException
RFC 822 の "From" ヘッダーフィールドの値を返します。このヘッダーフィールドが存在しない場合、「送信者」ヘッダーフィールドが使用されます。"Sender" ヘッダーフィールドも存在しない場合、null
が返されます。この実装では、
getHeader
メソッドを使用して、必要なヘッダーフィールドを取得します。- 次で指定:
- クラス
Message
のgetFrom
- 戻り値:
- アドレスオブジェクト
- 例外:
MessagingException
- 失敗- 関連事項:
headers
setFrom
public void setFrom(Address address) throws MessagingException
RFC 822 "From" ヘッダーフィールドを設定します。既存の値はすべて、指定されたアドレスに置き換えられます。アドレスがnull
の場合、このヘッダーは削除されます。- 次で指定:
- クラス
Message
のsetFrom
- パラメーター:
address
- このメッセージの送信者- 例外:
IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合
setFrom
public void setFrom(StringSE address) throws MessagingException
RFC 822 "From" ヘッダーフィールドを設定します。既存の値はすべて、指定されたアドレスに置き換えられます。アドレスがnull
の場合、このヘッダーは削除されます。- パラメーター:
address
- このメッセージの送信者- 例外:
IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合- 導入:
- JvaMail 1.5
setFrom
public void setFrom() throws MessagingException
InternetAddress.getLocalAddress
メソッドの値を使用して、RFC 822 "From" ヘッダーフィールドを設定します。- 次で指定:
- クラス
Message
のsetFrom
- 例外:
IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合
addFrom
public void addFrom(Address[] addresses) throws MessagingException
指定したアドレスを既存の「差出人」フィールドに追加します。"From" フィールドが存在しない場合は作成されます。- 次で指定:
- クラス
Message
のaddFrom
- パラメーター:
addresses
- このメッセージの送信者- 例外:
IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合
getSender
public Address getSender() throws MessagingException
RFC 822 "Sender" ヘッダーフィールドの値を返します。"Sender" ヘッダーフィールドが存在しない場合、null
が返されます。この実装では、
getHeader
メソッドを使用して、必要なヘッダーフィールドを取得します。- 戻り値:
- アドレスオブジェクト
- 例外:
MessagingException
- 失敗- 導入:
- JavaMail 1.3
- 関連事項:
headers
setSender
public void setSender(Address address) throws MessagingException
RFC 822 "Sender" ヘッダーフィールドを設定します。既存の値はすべて、指定されたアドレスに置き換えられます。アドレスがnull
の場合、このヘッダーは削除されます。- パラメーター:
address
- このメッセージの送信者- 例外:
IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合- 導入:
- JavaMail 1.3
getRecipients
public Address[] getRecipients(Message.RecipientType type) throws MessagingException
型で指定された受信者を返します。型と対応する RFC 822 ヘッダー間のマッピングは次のとおりです。Message.RecipientType.TO "To" Message.RecipientType.CC "Cc" Message.RecipientType.BCC "Bcc" MimeMessage.RecipientType.NEWSGROUPS "Newsgroups"
型で指定されたヘッダーが見つからない場合、またはその値が空の場合は、null を返します。この実装では、
getHeader
メソッドを使用して、必要なヘッダーフィールドを取得します。- 次で指定:
- クラス
Message
のgetRecipients
- パラメーター:
type
- 受取人の型- 戻り値:
- Address オブジェクトの配列
- 例外:
MessagingException
- ヘッダーを取得できなかった場合AddressException
- ヘッダーの形式が間違っている場合- 関連事項:
headers
,Message.RecipientType.TO
,Message.RecipientType.CC
,Message.RecipientType.BCC
,MimeMessage.RecipientType.NEWSGROUPS
getAllRecipients
public Address[] getAllRecipients() throws MessagingException
メッセージのすべての受信者アドレスを取得します。TO、CC、BCC、NEWSGROUPS 受信者を抽出します。- オーバーライド:
- クラス
Message
のgetAllRecipients
- 戻り値:
- Address オブジェクトの配列
- 例外:
MessagingException
- 失敗- 関連事項:
Message.RecipientType.TO
,Message.RecipientType.CC
,Message.RecipientType.BCC
,MimeMessage.RecipientType.NEWSGROUPS
setRecipients
public void setRecipients(Message.RecipientType type, Address[] addresses) throws MessagingException
指定された受信者型を指定されたアドレスに設定します。アドレスパラメーターがnull
の場合、対応する受信者フィールドは削除されます。- 次で指定:
- クラス
Message
のsetRecipients
- パラメーター:
type
- 受信者型addresses
- 住所- 例外:
IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合- 関連事項:
getRecipients(jakarta.mail.Message.RecipientType)
setRecipients
public void setRecipients(Message.RecipientType type, StringSE addresses) throws MessagingException
指定された受信者型を指定されたアドレスに設定します。アドレスパラメーターがnull
の場合、対応する受信者フィールドは削除されます。- パラメーター:
type
- 受信者型addresses
- 住所- 例外:
AddressException
- アドレス文字列を解析する試みが失敗した場合IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合- 導入:
- JavaMail 1.2
- 関連事項:
getRecipients(jakarta.mail.Message.RecipientType)
addRecipients
public void addRecipients(Message.RecipientType type, Address[] addresses) throws MessagingException
指定されたアドレスを指定された受信者型に追加します。- 次で指定:
- クラス
Message
のaddRecipients
- パラメーター:
type
- 受信者型addresses
- 住所- 例外:
IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合
addRecipients
public void addRecipients(Message.RecipientType type, StringSE addresses) throws MessagingException
指定されたアドレスを指定された受信者型に追加します。- パラメーター:
type
- 受信者型addresses
- 住所- 例外:
AddressException
- アドレス文字列を解析する試みが失敗した場合IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合- 導入:
- JavaMail 1.2
getReplyTo
public Address[] getReplyTo() throws MessagingException
RFC 822 "Reply-To" ヘッダーフィールドの値を返します。このヘッダーが使用できない場合、またはその値が存在しない場合、getFrom
メソッドが呼び出され、その値が返されます。この実装では、getHeader
メソッドを使用して、必要なヘッダーフィールドを取得します。- オーバーライド:
- クラス
Message
のgetReplyTo
- 戻り値:
- 返信先のアドレス
- 例外:
MessagingException
- 失敗- 関連事項:
headers
setReplyTo
public void setReplyTo(Address[] addresses) throws MessagingException
RFC 822 "Reply-To" ヘッダーフィールドを設定します。アドレスパラメーターがnull
の場合、このヘッダーは削除されます。- オーバーライド:
- クラス
Message
のsetReplyTo
- パラメーター:
addresses
- 返信先のアドレス- 例外:
IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合
getSubject
public StringSE getSubject() throws MessagingException
「サブジェクト」ヘッダーフィールドの値を返します。件名フィールドが使用できない場合、またはその値が存在しない場合は、null を返します。件名が RFC 2047 に従ってエンコードされている場合、デコードされ、Unicode に変換されます。デコードまたは変換が失敗した場合、生データはそのまま返されます。
この実装では、
getHeader
メソッドを使用して、必要なヘッダーフィールドを取得します。- 次で指定:
- クラス
Message
のgetSubject
- 戻り値:
- サブジェクト
- 例外:
MessagingException
- 失敗- 関連事項:
headers
setSubject
public void setSubject(StringSE subject) throws MessagingException
「サブジェクト」ヘッダーフィールドを設定します。件名に US-ASCII 以外の文字が含まれている場合、プラットフォームのデフォルトの文字セットを使用してエンコードされます。件名に US-ASCII 文字のみが含まれている場合、エンコードは行われず、そのまま使用されます。件名が null の場合、既存の「サブジェクト」フィールドは削除されます。アプリケーションは、件名に改行が含まれていないことを確認する必要があります。
文字セットエンコーディングプロセスが失敗した場合、MessagingException がスローされ、MessagingException 内のネストされた例外のチェーンに UnsupportedEncodingException が含まれることに注意してください。
- 次で指定:
- クラス
Message
のsetSubject
- パラメーター:
subject
- 件名- 例外:
IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合
setSubject
public void setSubject(StringSE subject, StringSE charset) throws MessagingException
「サブジェクト」ヘッダーフィールドを設定します。件名に US-ASCII 以外の文字が含まれている場合、指定された文字セットを使用してエンコードされます。件名に US-ASCII 文字のみが含まれている場合、エンコードは行われず、そのまま使用されます。件名が null の場合、既存の「サブジェクト」ヘッダーフィールドは削除されます。アプリケーションは、件名に改行が含まれていないことを確認する必要があります。
文字セットエンコーディングプロセスが失敗した場合、MessagingException がスローされ、MessagingException 内のネストされた例外のチェーンに UnsupportedEncodingException が含まれることに注意してください。
- パラメーター:
subject
- 件名charset
- 文字セット- 例外:
IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合
getSentDate
public DateSE getSentDate() throws MessagingException
RFC 822「日付」フィールドの値を返します。これは、このメッセージが送信された日付です。このフィールドが使用できない場合、またはその値が存在しない場合は、null を返します。この実装では、
getHeader
メソッドを使用して、必要なヘッダーフィールドを取得します。- 次で指定:
- クラス
Message
のgetSentDate
- 戻り値:
- 送信日
- 例外:
MessagingException
- 失敗
setSentDate
public void setSentDate(DateSE d) throws MessagingException
RFC 822 "Date" ヘッダーフィールドを設定します。これは、メッセージの作成者がメッセージが完成し、配信の準備ができていることを示す日付です。日付パラメーターがnull
の場合、既存の「日付」フィールドは削除されます。- 次で指定:
- クラス
Message
のsetSentDate
- パラメーター:
d
- このメッセージの送信日- 例外:
IllegalWriteException
- 基本となる実装が変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合
getReceivedDate
public DateSE getReceivedDate() throws MessagingException
このメッセージが受信された日付を返します。この日付を取得できない場合、null
を返します。RFC 822 は受信した日付のフィールドを定義しないことに注意してください。この日付を提供できる実装のみが有効な値を返す必要があります。
この実装は
null
を返します。- 次で指定:
- クラス
Message
のgetReceivedDate
- 戻り値:
- このメッセージが受信された日付
- 例外:
MessagingException
- 失敗
getSize
public int getSize() throws MessagingException
このメッセージのコンテンツのサイズをバイト単位で返します。サイズを判別できない場合は -1 を返します。この数値はコンテンツサイズの正確な測定値ではない場合があり、コンテンツの転送エンコードを考慮に入れる場合と考慮しない場合があることに注意してください。
この実装は、
content
配列のサイズ(null でない場合)を返します。contentStream
が null でなく、available
メソッドが正の数を返す場合、その数をサイズとして返します。それ以外の場合は、-1 を返します。- 次で指定:
- インターフェース
Part
のgetSize
- 戻り値:
- コンテンツのサイズ(バイト)
- 例外:
MessagingException
- 失敗
getLineCount
public int getLineCount() throws MessagingException
このメッセージのコンテンツの行数を返します。この数を決定できない場合は -1 を返します。この数値は、コンテンツの長さの正確な測定値ではない場合があり、コンテンツの転送エンコーディングを考慮に入れる場合と考慮しない場合があることに注意してください。
この実装は -1 を返します。
- 次で指定:
- インターフェース
Part
のgetLineCount
- 戻り値:
- コンテンツの行数。
- 例外:
MessagingException
- 失敗
getContentType
public StringSE getContentType() throws MessagingException
RFC822 の "Content-Type" ヘッダーフィールドの値を返します。これは、このメッセージのコンテンツのコンテンツ型を表します。この値は null であってはなりません。このフィールドが使用できない場合は、"text/plain" を返す必要があります。この実装では、
getHeader
メソッドを使用して、必要なヘッダーフィールドを取得します。- 次で指定:
- インターフェース
Part
のgetContentType
- 戻り値:
- このパートの ContentType
- 例外:
MessagingException
- 失敗- 関連事項:
DataHandler
isMimeType
public boolean isMimeType(StringSE mimeType) throws MessagingException
これは指定された MIME 型の一部ですか? このメソッドは、primaryType
とsubType
のみを比較します。コンテンツ型のパラメーターは無視されます。例: このメソッドは、コンテンツ型 "text/plain" のパーツを "text/plain; charset=foobar" と比較するときに
true
を返します。mimeType
のsubType
が特殊文字 "*" の場合、サブ型は比較中に無視されます。- 次で指定:
- インターフェース
Part
のisMimeType
- パラメーター:
mimeType
- チェックする MIME 型- 戻り値:
- MIME 型と一致する場合は true
- 例外:
MessagingException
- 失敗
getDisposition
public StringSE getDisposition() throws MessagingException
"Content-Disposition" ヘッダーフィールドから後処理を返します。これは、このパーツの性質を表しています。後処理は、部品をユーザーに提示する方法を示します。Content-Disposition フィールドが使用できない場合、
null
が返されます。この実装では、
getHeader
メソッドを使用して、必要なヘッダーフィールドを取得します。- 次で指定:
- インターフェース
Part
のgetDisposition
- 戻り値:
- このパートの後処理。不明の場合は null
- 例外:
MessagingException
- 失敗- 関連事項:
Part.ATTACHMENT
,Part.INLINE
,Part.getFileName()
setDisposition
public void setDisposition(StringSE disposition) throws MessagingException
このボディパーツの "Content-Disposition" ヘッダーフィールドで後処理を設定します。後処理が null の場合、既存の "Content-Disposition" ヘッダーフィールドは削除されます。- 次で指定:
- インターフェース
Part
のsetDisposition
- パラメーター:
disposition
- このパートの処分- 例外:
IllegalWriteException
- 基本となる実装が変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合- 関連事項:
Part.ATTACHMENT
,Part.INLINE
,Part.setFileName(java.lang.String)
getEncoding
public StringSE getEncoding() throws MessagingException
"Content-Transfer-Encoding" ヘッダーフィールドからコンテンツ転送エンコーディングを返します。ヘッダーが利用できない場合、またはその値がない場合は、null
を返します。この実装では、
getHeader
メソッドを使用して、必要なヘッダーフィールドを取得します。- 次で指定:
- インターフェース
MimePart
のgetEncoding
- 戻り値:
- content-transfer-encoding
- 例外:
MessagingException
- 失敗
getContentID
public StringSE getContentID() throws MessagingException
"Content-ID" ヘッダーフィールドの値を返します。フィールドが使用できない場合、またはその値が存在しない場合は、null
を返します。この実装では、
getHeader
メソッドを使用して、必要なヘッダーフィールドを取得します。- 次で指定:
- インターフェース
MimePart
のgetContentID
- 戻り値:
- コンテンツ ID
- 例外:
MessagingException
- 失敗
setContentID
public void setContentID(StringSE cid) throws MessagingException
このメッセージの "Content-ID" ヘッダーフィールドを設定します。cid
パラメーターが null の場合、既存の "Content-ID" は削除されます。- パラメーター:
cid
- コンテンツ ID- 例外:
IllegalWriteException
- 基本となる実装が変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合
getContentMD5
public StringSE getContentMD5() throws MessagingException
"Content-MD5" ヘッダーフィールドの値を返します。このフィールドが使用できない場合、またはその値が存在しない場合は、null
を返します。この実装では、
getHeader
メソッドを使用して、必要なヘッダーフィールドを取得します。- 次で指定:
- インターフェース
MimePart
のgetContentMD5
- 戻り値:
- content-MD5
- 例外:
MessagingException
- 失敗
setContentMD5
public void setContentMD5(StringSE md5) throws MessagingException
このメッセージの "Content-MD5" ヘッダーフィールドを設定します。- 次で指定:
- インターフェース
MimePart
のsetContentMD5
- パラメーター:
md5
- MD5 値- 例外:
IllegalWriteException
- 基本となる実装が変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合
getDescription
public StringSE getDescription() throws MessagingException
このメッセージの "Content-Description" ヘッダーフィールドを返します。これは通常、このパーツにいくつかの説明情報を関連付けます。このフィールドが使用できない場合、またはその値が存在しない場合は、null を返します。Content-Description フィールドが RFC 2047 に従ってエンコードされている場合、デコードされ、Unicode に変換されます。デコードまたは変換が失敗した場合、生データはそのまま返されます
この実装では、
getHeader
メソッドを使用して、必要なヘッダーフィールドを取得します。- 次で指定:
- インターフェース
Part
のgetDescription
- 戻り値:
- content-description
- 例外:
MessagingException
- 失敗
setDescription
public void setDescription(StringSE description) throws MessagingException
このメッセージの "Content-Description" ヘッダーフィールドを設定します。description パラメーターがnull
の場合、既存の "Content-Description" フィールドは削除されます。説明に US-ASCII 以外の文字が含まれている場合、プラットフォームのデフォルトの文字セットを使用してエンコードされます。説明に US-ASCII 文字のみが含まれている場合、エンコードは行われず、そのまま使用されます。
文字セットエンコーディングプロセスが失敗した場合、MessagingException がスローされ、MessagingException 内のネストされた例外のチェーンに UnsupportedEncodingException が含まれることに注意してください。
- 次で指定:
- インターフェース
Part
のsetDescription
- パラメーター:
description
- content-description- 例外:
IllegalWriteException
- 基本となる実装が変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- 文字セット変換が失敗した場合、UnsupportedEncodingException が例外チェーンに含まれる可能性があります。
setDescription
public void setDescription(StringSE description, StringSE charset) throws MessagingException
このメッセージの "Content-Description" ヘッダーフィールドを設定します。description パラメーターがnull
の場合、既存の "Content-Description" フィールドは削除されます。説明に US-ASCII 以外の文字が含まれている場合は、指定された文字セットを使用してエンコードされます。説明に US-ASCII 文字のみが含まれている場合、エンコードは行われず、そのまま使用されます。
文字セットエンコーディングプロセスが失敗した場合、MessagingException がスローされ、MessagingException 内のネストされた例外のチェーンに UnsupportedEncodingException が含まれることに注意してください。
- パラメーター:
description
- 説明charset
- エンコード用の文字セット- 例外:
IllegalWriteException
- 基本となる実装が変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- 文字セット変換が失敗した場合、UnsupportedEncodingException が例外チェーンに含まれる可能性があります。
getContentLanguage
public StringSE[] getContentLanguage() throws MessagingException
このメッセージの "Content-Language" ヘッダーフィールドで指定された言語を取得します。Content-Language ヘッダーは RFC 1766 で定義されています。このフィールドが使用できない場合、またはその値が存在しない場合は、null
を返します。この実装では、
getHeader
メソッドを使用して、必要なヘッダーフィールドを取得します。- 次で指定:
- インターフェース
MimePart
のgetContentLanguage
- 戻り値:
- content-language ヘッダーの値。
- 例外:
MessagingException
- 失敗
setContentLanguage
public void setContentLanguage(StringSE[] languages) throws MessagingException
この MimePart の "Content-Language" ヘッダーを設定します。Content-Language ヘッダーは RFC 1766 で定義されています。- 次で指定:
- インターフェース
MimePart
のsetContentLanguage
- パラメーター:
languages
- 言語タグの配列- 例外:
IllegalWriteException
- 基本となる実装が変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合
getMessageID
public StringSE getMessageID() throws MessagingException
"Message-ID" ヘッダーフィールドの値を返します。このフィールドが使用できない場合、またはその値が存在しない場合は、null を返します。ここで提供されるデフォルトの実装では、
getHeader
メソッドを使用して "Message-ID" フィールドの値を返します。- 戻り値:
- メッセージ ID
- 例外:
MessagingException
- このフィールドの取得で例外が発生した場合。- 導入:
- JavaMail 1.1
- 関連事項:
MessageIDTerm
getFileName
public StringSE getFileName() throws MessagingException
このメッセージに関連付けられているファイル名を取得します。このメッセージの "Content-Disposition" ヘッダーフィールドから "filename" パラメーターの値を返します。使用できない場合は、この BodyPart の "Content-Type" ヘッダーフィールドから "name" パラメーターの値を返します。両方が存在しない場合、
null
を返します。mail.mime.encodefilename
システムプロパティが true に設定されている場合、MimeUtility.decodeText
メソッドを使用してファイル名をデコードします。このようなエンコーディングは MIME 仕様ではサポートされていませんが、多くのメーラーはこの手法を使用して、ファイル名で非 ASCII 文字をサポートしています。このプロパティのデフォルト値は false です。- 次で指定:
- インターフェース
Part
のgetFileName
- 戻り値:
- ファイル名
- 例外:
MessagingException
- 失敗
setFileName
public void setFileName(StringSE filename) throws MessagingException
可能であれば、このパーツに関連付けられたファイル名を設定します。このメッセージの "Content-Disposition" ヘッダーフィールドの "filename" パラメーターを設定します。
mail.mime.encodefilename
システムプロパティが true に設定されている場合、MimeUtility.encodeText
メソッドを使用してファイル名をエンコードします。このようなエンコーディングは MIME 仕様ではサポートされていませんが、多くのメーラーはこの手法を使用して、ファイル名で非 ASCII 文字をサポートしています。このプロパティのデフォルト値は false です。- 次で指定:
- インターフェース
Part
のsetFileName
- パラメーター:
filename
- このパーツに関連付けるファイル名- 例外:
IllegalWriteException
- 基本となる実装が変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合
getInputStream
public InputStreamSE getInputStream() throws IOExceptionSE, MessagingException
このメッセージの「コンテンツ」のデコードされた入力ストリームを返します。この実装は、DataHandler から入力ストリームを取得します。つまり、
getDataHandler().getInputStream()
を呼び出します。- 次で指定:
- インターフェース
Part
のgetInputStream
- 戻り値:
- InputStream
- 例外:
IOExceptionSE
- これは通常、DataHandler によってスローされます。詳細については、jakarta.activation.DataHandler のドキュメントを参照してください。MessagingException
- その他の障害の場合- 関連事項:
getContentStream()
,DataHandler.getInputStream()
getContentStream
protected InputStreamSE getContentStream() throws MessagingException
コンテンツの生のバイトを生成します。このメソッドは、コンテンツの DataHandler オブジェクトを作成するために、解析中に使用されます。メッセージのコンテンツだけに個別の入力ストリームを提供できるサブクラスは、このメソッドをオーバーライドしたい場合があります。contentStream
が null でない場合、この実装は SharedInputStream を返します。それ以外の場合は、content
バイト配列から構築された ByteArrayInputStream を返します。- 戻り値:
- 生のバイトを含む InputStream
- 例外:
MessagingException
- 失敗- 関連事項:
content
getRawInputStream
public InputStreamSE getRawInputStream() throws MessagingException
Content-Transfer-Encoding をそのままにして、InputStream を生データに戻します。このメソッドは、"Content-Transfer-Encoding" ヘッダーが正しくないか破損している場合に役立ちます。これにより、getInputStream
メソッドまたはgetContent
メソッドが正しいデータを返すことができなくなります。このような場合、アプリケーションはこのメソッドを使用して、生データ自体をデコードしようとすることがあります。この実装は単に
getContentStream
メソッドを呼び出します。- 戻り値:
- 生のバイトを含む InputStream
- 例外:
MessagingException
- 失敗- 導入:
- JavaMail 1.2
- 関連事項:
getInputStream()
,getContentStream()
getDataHandler
public DataHandler getDataHandler() throws MessagingException
このメッセージのコンテンツの DataHandler を返します。ここで提供される実装は、おおよそ次のように機能します。コンテンツのバイトストリームを生成するために
getContentStream
メソッドを使用していることに注意してください。また、転送デコードはこのメソッド内で自動的に行われることに注意してください。getDataHandler() { if (dh == null) { dh = new DataHandler(new MimePartDataSource(this)); } return dh; } class MimePartDataSource implements DataSource { public getInputStream() { return MimeUtility.decode( getContentStream(), getEncoding()); } .... <other DataSource methods> }
- 次で指定:
- インターフェース
Part
のgetDataHandler
- 戻り値:
- コンテンツの DataHandler
- 例外:
MessagingException
- 失敗
getContent
public ObjectSE getContent() throws IOExceptionSE, MessagingException
コンテンツを Java オブジェクトとして返します。このオブジェクトの型は、コンテンツ自体によって異なります。例: "text/plain" コンテンツのネイティブ形式は、通常、String オブジェクトです。「マルチパート」メッセージのネイティブ形式は、常にマルチパートサブクラスです。DataHandler システムに認識されていないコンテンツ型の場合、入力ストリームがコンテンツとして返されます。この実装は DataHandler からコンテンツを取得します。つまり、
getDataHandler().getContent()
を呼び出します。コンテンツがマルチパートまたはメッセージオブジェクトであり、ストリームを解析することによって作成された場合、コンテンツへの変更が失われないように、オブジェクトはキャッシュされ、後続の呼び出しで返されます。- 次で指定:
- インターフェース
Part
のgetContent
- 戻り値:
- オブジェクト
- 例外:
IOExceptionSE
- これは通常、DataHandler によってスローされます。詳細については、jakarta.activation.DataHandler のドキュメントを参照してください。MessagingException
- その他の障害の場合- 関連事項:
Part
,DataHandler.getContent()
setDataHandler
public void setDataHandler(DataHandler dh) throws MessagingException
このメソッドは、このパーツのコンテンツを設定するメカニズムを提供します。指定された DataHandler オブジェクトは実際のコンテンツをラップする必要があります。- 次で指定:
- インターフェース
Part
のsetDataHandler
- パラメーター:
dh
- コンテンツの DataHandler。- 例外:
IllegalWriteException
- 基本となる実装が変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合
setContent
public void setContent(ObjectSE o, StringSE type) throws MessagingException
このメッセージのコンテンツを設定するための便利なメソッド。コンテンツは DataHandler オブジェクトにラップされています。これが正しく機能するためには、指定された型の DataContentHandler クラスが JavaMail 実装で使用可能である必要があることに注意してください。つまり、
setContent(foobar, "application/x-foobar")
を実行するには、"application/x-foobar" 用の DataContentHandler をインストールする必要があります。詳細については、Java Activation フレームワークを参照してください。- 次で指定:
- インターフェース
Part
のsetContent
- パラメーター:
o
- コンテンツオブジェクトtype
- オブジェクトの MIME 型- 例外:
IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合
setText
public void setText(StringSE text) throws MessagingException
指定された文字列をこのパーツのコンテンツとして設定する便利なメソッド。MIME 型は "text/plain" です。文字列に US-ASCII 以外の文字が含まれている場合。プラットフォームのデフォルトの文字セットを使用してエンコードされます。文字セットは、"charset" パラメーターの設定にも使用されます。text
が大きい場合、このメソッドはすべての文字をスキャンして、使用する文字セットを決定する必要があるため、パフォーマンスが低下する可能性があることに注意してください。文字セットが既知の場合は、文字セットパラメーターを受け取る
setText
メソッドを使用します。- 次で指定:
- インターフェース
MimePart
のsetText
- 次で指定:
- インターフェース
Part
のsetText
- パラメーター:
text
- 設定するテキストコンテンツ- 例外:
MessagingException
- エラーが発生した場合- 関連事項:
setText(String text, String charset)
setText
public void setText(StringSE text, StringSE charset) throws MessagingException
指定された文字列をこのパーツのコンテンツとして設定する便利なメソッド。MIME 型は "text/plain" で、指定された文字セットを使用します。指定された Unicode 文字列は、指定された文字セットを使用して文字セットエンコードされます。文字セットは、"charset" パラメーターの設定にも使用されます。- 次で指定:
- インターフェース
MimePart
のsetText
- パラメーター:
text
- 設定するテキストコンテンツcharset
- テキストに使用する文字セット- 例外:
MessagingException
- エラーが発生した場合
setText
public void setText(StringSE text, StringSE charset, StringSE subtype) throws MessagingException
指定された文字列をこのパーツのコンテンツとして設定し、プライマリ MIME 型が "text" で指定された MIME サブ型を使用する便利なメソッド。指定された Unicode 文字列は、指定された文字セットを使用して文字セットエンコードされます。文字セットは、"charset" パラメーターの設定にも使用されます。- 次で指定:
- インターフェース
MimePart
のsetText
- パラメーター:
text
- 設定するテキストコンテンツcharset
- テキストに使用する文字セットsubtype
- 使用する MIME サブ型 (例: "html" )- 例外:
MessagingException
- エラーが発生した場合- 導入:
- JavaMail 1.4
setContent
public void setContent(Multipart mp) throws MessagingException
このメソッドは、メッセージのコンテンツをマルチパートオブジェクトに設定します。- 次で指定:
- インターフェース
Part
のsetContent
- パラメーター:
mp
- メッセージのコンテンツであるマルチパートオブジェクト- 例外:
IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合
reply
public Message reply(boolean replyToAll) throws MessagingException
このメッセージへの返信に適した新しいメッセージを取得します。新しいメッセージには、属性とヘッダーが適切に設定されます。この新しいメッセージオブジェクトは空になることに注意してください。つまり、「コンテンツ」はありません。これらは、クライアントが適切に入力する必要があります。replyToAll
が設定されている場合、新しいメッセージはこのメッセージのすべての受信者に送信されます。それ以外の場合、返信はこのメッセージの送信者のみに送信されます(getReplyTo
メソッドの値を使用)。「サブジェクト」フィールドには、"Re:" で始まる元の件名が入力されます(すでに "Re:" で始まっている場合を除く)。このメッセージに "Message-Id" ヘッダーがある場合、"In-Reply-To" ヘッダーは新しいメッセージに設定されます。このメッセージでは
ANSWERED
フラグが設定されています。現在の実装では、新しいメッセージの "References" ヘッダーを設定して、このメッセージの "References" ヘッダーのコンテンツ(または、欠落している場合は "In-Reply-To" ヘッダー)と、" RFC 2822 で説明されている、このメッセージの Message-Id " ヘッダー。- 次で指定:
- クラス
Message
のreply
- パラメーター:
replyToAll
- このメッセージのすべての受信者に返信を送信する必要があります- 戻り値:
- 返信メッセージ
- 例外:
MessagingException
- 失敗
reply
public Message reply(boolean replyToAll, boolean setAnswered) throws MessagingException
このメッセージへの返信に適した新しいメッセージを取得します。新しいメッセージには、属性とヘッダーが適切に設定されます。この新しいメッセージオブジェクトは空になることに注意してください。つまり、「コンテンツ」はありません。これらは、クライアントが適切に入力する必要があります。replyToAll
が設定されている場合、新しいメッセージはこのメッセージのすべての受信者に送信されます。それ以外の場合、返信はこのメッセージの送信者のみに送信されます(getReplyTo
メソッドの値を使用)。setAnswered
が設定されている場合、ANSWERED
フラグがこのメッセージで設定されます。「サブジェクト」フィールドには、"Re:" で始まる元の件名が入力されます(すでに "Re:" で始まっている場合を除く)。このメッセージに "Message-Id" ヘッダーがある場合、"In-Reply-To" ヘッダーは新しいメッセージに設定されます。現在の実装では、新しいメッセージの "References" ヘッダーを設定して、このメッセージの "References" ヘッダーのコンテンツ(または、欠落している場合は "In-Reply-To" ヘッダー)と、" RFC 2822 で説明されている、このメッセージの Message-Id " ヘッダー。
- パラメーター:
replyToAll
- このメッセージのすべての受信者に返信を送信する必要がありますsetAnswered
- このメッセージに ANSWERED フラグを設定しますか?- 戻り値:
- 返信メッセージ
- 例外:
MessagingException
- 失敗- 導入:
- JavaMail 1.5
writeTo
public void writeTo(OutputStreamSE os) throws IOExceptionSE, MessagingException
メッセージを RFC 822 形式のストリームとして出力します。メッセージがどのように構成されたかに応じて、さまざまな回線終了規則を使用する場合があることに注意してください。通常、出力は、ラインターミネーターを目的の形式に変換する適切な FilterOutputStream を介して送信する必要があります。MIME 互換性のために CRLF でインターネットプロトコルで使用するか、ローカルプラットフォームのラインターミネーターでローカルテキストファイルに保存します。
この実装は、null 無視リストを使用して
writeTo(OutputStream, String[])
メソッドを呼び出します。- 次で指定:
- インターフェース
Part
のwriteTo
- パラメーター:
os
- 書き込むストリーム- 例外:
IOExceptionSE
- ストリームへの書き込みでエラーが発生した場合、または jakarta.activation レイヤーによってエラーが生成された場合。MessagingException
- その他の障害の場合- 関連事項:
DataHandler.writeTo(java.io.OutputStream)
writeTo
public void writeTo(OutputStreamSE os, StringSE[] ignoreList) throws IOExceptionSE, MessagingException
ヘッダーを指定せずに、メッセージを RFC 822 形式のストリームとして出力します。saved
フラグが設定されていない場合、saveChanges
メソッドが呼び出されます。modified
フラグが設定されておらず、content
配列が null でない場合、適切なメッセージヘッダーを書き込んだ後、content
配列が直接書き込まれます。- パラメーター:
os
- 書き込むストリームignoreList
- 出力に含めないヘッダー- 例外:
IOExceptionSE
- ストリームへの書き込みでエラーが発生した場合、または jakarta.activation レイヤーによってエラーが生成された場合。MessagingException
- その他の障害の場合- 関連事項:
DataHandler.writeTo(java.io.OutputStream)
getHeader
public StringSE[] getHeader(StringSE name) throws MessagingException
この header_name のすべてのヘッダーを取得します。特定のヘッダーは US-ASCII 以外の文字を含み、デコードする必要がある場合、RFC 2047 に従ってエンコードされる場合があることに注意してください。この実装は、
headers
InternetHeaders オブジェクトからヘッダーを取得します。- 次で指定:
- インターフェース
Part
のgetHeader
- パラメーター:
name
- ヘッダーの名前- 戻り値:
- ヘッダーの配列
- 例外:
MessagingException
- 失敗- 関連事項:
MimeUtility
getHeader
public StringSE getHeader(StringSE name, StringSE delimiter) throws MessagingException
このヘッダー名のすべてのヘッダーを取得します。ヘッダーは区切り文字で区切られ、単一の文字列として返されます。区切り文字がnull
の場合、最初のヘッダーのみが返されます。- 次で指定:
- インターフェース
MimePart
のgetHeader
- パラメーター:
name
- このヘッダーの名前delimiter
- 値の間のセパレータ- 戻り値:
- この名前のすべてのヘッダーの値フィールド
- 例外:
MessagingException
- 失敗
setHeader
public void setHeader(StringSE name, StringSE value) throws MessagingException
この header_name の値を設定します。既存のすべてのヘッダー値をこの新しい値で置き換えます。RFC 822 ヘッダーには US-ASCII 文字のみを含める必要があるため、US-ASCII 以外の文字を含むヘッダーは、RFC 2047 のルールに従って呼び出し元によってエンコードされている必要があります。- 次で指定:
- インターフェース
Part
のsetHeader
- パラメーター:
name
- ヘッダー名value
- ヘッダー値- 例外:
IllegalWriteException
- 基本となる実装が変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合- 関連事項:
MimeUtility
addHeader
public void addHeader(StringSE name, StringSE value) throws MessagingException
この値を、この header_name の既存の値に追加します。RFC 822 ヘッダーには US-ASCII 文字のみを含める必要があるため、US-ASCII 以外の文字を含むヘッダーは RFC 2047 のルールに従ってエンコードされている必要があることに注意してください。- 次で指定:
- インターフェース
Part
のaddHeader
- パラメーター:
name
- ヘッダー名value
- ヘッダー値- 例外:
IllegalWriteException
- 基本となる実装が変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合- 関連事項:
MimeUtility
removeHeader
public void removeHeader(StringSE name) throws MessagingException
この名前のすべてのヘッダーを削除します。- 次で指定:
- インターフェース
Part
のremoveHeader
- パラメーター:
name
- このヘッダーの名前- 例外:
IllegalWriteException
- 基本となる実装が変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合
getAllHeaders
public EnumerationSE<Header> getAllHeaders() throws MessagingException
この Message のすべてのヘッダーを Header オブジェクトの列挙として返します。特定のヘッダーは US-ASCII 以外の文字を含み、デコードする必要がある場合、RFC 2047 に従ってエンコードされる場合があることに注意してください。
この実装は、
headers
InternetHeaders オブジェクトからヘッダーを取得します。- 次で指定:
- インターフェース
Part
のgetAllHeaders
- 戻り値:
- ヘッダーオブジェクトの配列
- 例外:
MessagingException
- 失敗- 関連事項:
MimeUtility
getMatchingHeaders
public EnumerationSE<Header> getMatchingHeaders(StringSE[] names) throws MessagingException
このメッセージから一致するヘッダーをヘッダーオブジェクトの列挙として返します。この実装は、headers
InternetHeaders オブジェクトからヘッダーを取得します。- 次で指定:
- インターフェース
Part
のgetMatchingHeaders
- パラメーター:
names
- 一致するヘッダー- 戻り値:
- Header オブジェクトの列挙
- 例外:
MessagingException
- 失敗
getNonMatchingHeaders
public EnumerationSE<Header> getNonMatchingHeaders(StringSE[] names) throws MessagingException
この Message から一致しないヘッダーを、Header オブジェクトの列挙として返します。この実装は、headers
InternetHeaders オブジェクトからヘッダーを取得します。- 次で指定:
- インターフェース
Part
のgetNonMatchingHeaders
- パラメーター:
names
- 一致しないヘッダー- 戻り値:
- Header オブジェクトの列挙
- 例外:
MessagingException
- 失敗
addHeaderLine
public void addHeaderLine(StringSE line) throws MessagingException
生の RFC 822 ヘッダー行を追加します。- 次で指定:
- インターフェース
MimePart
のaddHeaderLine
- パラメーター:
line
- 追加する行- 例外:
IllegalWriteException
- 基本となる実装が変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合
getAllHeaderLines
public EnumerationSE<StringSE> getAllHeaderLines() throws MessagingException
すべてのヘッダー行を文字列の列挙として取得します。ヘッダー行は生の RFC 822 ヘッダー行で、「名前」フィールドと「値」フィールドの両方が含まれています。- 次で指定:
- インターフェース
MimePart
のgetAllHeaderLines
- 戻り値:
- 文字列の列挙
- 例外:
MessagingException
- 失敗
getMatchingHeaderLines
public EnumerationSE<StringSE> getMatchingHeaderLines(StringSE[] names) throws MessagingException
一致するヘッダー行を文字列の列挙として取得します。ヘッダー行は生の RFC 822 ヘッダー行で、「名前」フィールドと「値」フィールドの両方が含まれています。- 次で指定:
- インターフェース
MimePart
のgetMatchingHeaderLines
- パラメーター:
names
- 返すヘッダー- 戻り値:
- 文字列の列挙
- 例外:
MessagingException
- 失敗
getNonMatchingHeaderLines
public EnumerationSE<StringSE> getNonMatchingHeaderLines(StringSE[] names) throws MessagingException
文字列の列挙として一致しないヘッダー行を取得します。ヘッダー行は生の RFC 822 ヘッダー行で、「名前」フィールドと「値」フィールドの両方が含まれています。- 次で指定:
- インターフェース
MimePart
のgetNonMatchingHeaderLines
- パラメーター:
names
- 返さないヘッダー- 戻り値:
- 文字列の列挙
- 例外:
MessagingException
- 失敗
getFlags
public Flags getFlags() throws MessagingException
このメッセージのフラグを含むFlags
オブジェクトを返します。内部の Flags オブジェクトのクローンが返されるため、返された Flags オブジェクトを変更しても、このメッセージのフラグには影響しません。
- 次で指定:
- クラス
Message
のgetFlags
- 戻り値:
- このメッセージのフラグを含む Flags オブジェクト
- 例外:
MessagingException
- 失敗- 関連事項:
Flags
isSet
public boolean isSet(Flags.Flag flag) throws MessagingException
このメッセージに、flag
引数で指定されたフラグが設定されているかどうかを確認します。この実装は、このメッセージの内部
flags
オブジェクトをチェックします。- オーバーライド:
- クラス
Message
のisSet
- パラメーター:
flag
- 旗- 戻り値:
- このメッセージに指定されたフラグの値
- 例外:
MessagingException
- 失敗- 関連事項:
Flags.Flag
,Flags.Flag.ANSWERED
,Flags.Flag.DELETED
,Flags.Flag.DRAFT
,Flags.Flag.FLAGGED
,Flags.Flag.RECENT
,Flags.Flag.SEEN
setFlags
public void setFlags(Flags flag, boolean set) throws MessagingException
このメッセージのフラグを設定します。この実装は、
flags
フィールドを変更します。- 次で指定:
- クラス
Message
のsetFlags
- パラメーター:
flag
- 設定するフラグを含む Flags オブジェクトset
- 設定する値- 例外:
IllegalWriteException
- 基本となる実装が変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合- 関連事項:
MessageChangedEvent
saveChanges
public void saveChanges() throws MessagingException
メッセージの内容と一致するように、このメッセージの適切なヘッダーフィールドを更新します。このメッセージがフォルダーに含まれている場合、このメッセージに加えられた変更は、含まれているフォルダーにコミットされます。メッセージのヘッダーまたはコンテンツの一部が変更された場合、
saveChanges
を呼び出して、それらの変更が永続的であることを確認する必要があります。それ以外の場合、フォルダーの実装に応じて、そのような変更は保存される場合とされない場合があります。READ_ONLY で開かれたフォルダーから取得されたメッセージは変更してはならず、そのようなメッセージに対して saveChanges を呼び出してはなりません。
このメソッドは、
modified
フラグを true に設定し、save
フラグを true に設定してから、updateHeaders
メソッドを呼び出します。- 次で指定:
- クラス
Message
のsaveChanges
- 例外:
IllegalWriteException
- 基本となる実装が変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合
updateMessageID
protected void updateMessageID() throws MessagingException
Message-ID ヘッダーを更新します。このメソッドはupdateHeaders
によって呼び出され、サブクラスが Message-ID を選択するためのアルゴリズムのみをオーバーライドできるようにします。- 例外:
MessagingException
- 失敗- 導入:
- JavaMail 1.4
updateHeaders
protected void updateHeaders() throws MessagingException
saveChanges
メソッドによって呼び出され、MIME ヘッダーを実際に更新します。ここでの実装は、Content-Transfer-Encoding
ヘッダー(必要であり、まだ設定されていない場合)、Date
ヘッダー(まだ設定されていない場合)、MIME-Version
ヘッダー、Message-ID
ヘッダーを設定します。また、このメッセージの内容がMimeMultipart
の場合、そのupdateHeaders
メソッドが呼び出されます。cachedContent
フィールドが null でない場合(つまり、マルチパートまたはメッセージオブジェクトを参照している場合)、そのオブジェクトは新しい DataHandler の設定に使用され、このオブジェクトの作成に使用されたストリームデータはすべて破棄され、cachedContent
フィールドはクリアされます。- 例外:
IllegalWriteException
- 基本となる実装が変更をサポートしていない場合IllegalStateExceptionSE
- このメッセージが READ_ONLY フォルダーから取得された場合。MessagingException
- その他の障害の場合
createInternetHeaders
protected InternetHeaders createInternetHeaders(InputStreamSE is) throws MessagingException
指定された InputStream からヘッダーをロードする InternetHeaders オブジェクトを作成して返します。必要に応じて、サブクラスはこのメソッドをオーバーライドして、InternetHeaders のサブクラスを返すことができます。この実装は、単に InternetHeaders オブジェクトを作成して返します。- パラメーター:
is
- ヘッダーを読み取る InputStream- 戻り値:
- InternetHeaders オブジェクト
- 例外:
MessagingException
- 失敗- 導入:
- JavaMail 1.2
createMimeMessage
protected MimeMessage createMimeMessage(Session session) throws MessagingException
MimeMessage オブジェクトを作成して返します。reply メソッドはこのメソッドを使用して、返される MimeMessage オブジェクトを作成します。サブクラスはこのメソッドをオーバーライドして、MimeMessage のサブクラスを返すことができます。この実装は、提供された Session を使用して MimeMessage オブジェクトを作成して返すだけです。- パラメーター:
session
- 新しいメッセージに使用するセッション- 戻り値:
- 新しい MimeMessage オブジェクト
- 例外:
MessagingException
- 失敗- 導入:
- JavaMail 1.4