javax.mail.internet
クラス MimeMessage

java.lang.Object
  上位を拡張 javax.mail.Message
      上位を拡張 javax.mail.internet.MimeMessage
すべての実装されたインタフェース:
MimePart, Part
直系の既知のサブクラス:
IMAPMessage, POP3Message, SMTPMessage

public class MimeMessage
extends Message
implements MimePart

このクラスは MIME 形式の電子メールメッセージを表します。 これは Message 抽象クラスと MimePart インタフェースを実装します。

新しい MIME 形式メッセージを作成しようとするクライアントは、 空の MimeMessage オブジェクトをインスタント化し、適切な属性と内容で満たします。

MIME 準拠のバックエンドストアを実装するサービスプロバイダは、 MimeMessage をサブクラス化し、あるメソッドをオーバーライドして、特定の実装を提供できます。 もっとも単純なケースは、恐らくプロバイダが MIME 形式の入力ストリームを生成し、 ストリームの構文解析をこのクラスに任せる事です。

MimeMessage は InternetHeaders クラスを使用して、 メッセージのトップレベルの RFC 822 ヘッダを構文解析及び格納します。


RFC822 及び MIME ヘッダに関するメモ

RFC822 ヘッダフィールドは US-ASCII 文字だけを含まなければなりません。 MIME では ASCII 以外の文字をエンコーディングすることにより、 特定のヘッダの特定の部分に設定可能です。 RFC 2047 はこの処理の規則を指定します。 このパッケージで提供される MimeUtility クラスを用いてこの処理を行う事ができます。 setHeaderaddHeader、 及び addHeaderLine メソッドの呼び出し側は、 指定されたヘッダが MIME 要件に従うことを保証する必要があります。 又、これらのヘッダフィールドが転送における行の長さ制限 (SMTP の場合は 1000バイト) を超える場合は、 送信の前に折りたたむ (ラップする) 必要があります。 受信ヘッダは折りたたまれている可能性があります。 アプリケーションはヘッダを適切に折りたたみ、展開する責任があります。

関連項目:
MimeUtility, Part, Message, MimePart, InternetAddress

入れ子のクラスの概要
static class MimeMessage.RecipientType
          この内部クラスは javax.mail.Message.RecipientType クラスを拡張して、 補足的な RecipientType を追加します。
 
フィールドの概要
protected  byte[] content
          この Message の内容のバイトを保持するバイト配列です。
protected  InputStream contentStream
          このメッセージのデータが SharedInputStream インタフェースを実装する InputStream により供給された場合、 contentStream がこのメッセージの内容を表すもう 1 つのストリームです。
protected  DataHandler dh
          この Message の内容を表す DataHandler オブジェクトです。
protected  Flags flags
          このメッセージの Flags です。
protected  InternetHeaders headers
          このメッセージのヘッダを格納する InternetHeaders オブジェクトです。
protected  boolean modified
          メッセージが変更されたかどうかを示すフラグです。
protected  boolean saved
          このメッセージ上で saveChanges メソッドを呼び出す必要がある場合のフラグです。
 
クラス javax.mail.Message から継承されたフィールド
expunged, folder, msgnum, session
 
インタフェース javax.mail.Part から継承されたフィールド
ATTACHMENT, INLINE
 
コンストラクタの概要
protected MimeMessage(Folder folder, InputStream is, int msgnum)
          指定された MIME InputStream のデータを読み取り、 構文解析することで、MimeMessage を構築します。
protected MimeMessage(Folder folder, int msgnum)
          指定された Folder とメッセージ番号を持つ空の MimeMessage オブジェクトを構築します。
protected MimeMessage(Folder folder, InternetHeaders headers, byte[] content, int msgnum)
          指定された InternetHeaders オブジェクトおよび内容から MimeMessage を構築します。
  MimeMessage(MimeMessage source)
          source MimeMessage から初期化された内容を持つ新しい MimeMessage を構築します。
  MimeMessage(Session session)
          デフォルトのコンストラクタです。
  MimeMessage(Session session, InputStream is)
          指定された MIME InputStream のデータを読み取り、 構文解析することで、MimeMessage を構築します。
 
メソッドの概要
 void addFrom(Address[] addresses)
          指定されたアドレスを既存の "From" フィールドに追加します。
 void addHeader(String name, String value)
          この値をこの header_name の既存値に追加します。
 void addHeaderLine(String line)
          生 RFC 822 ヘッダ行を追加します。
 void addRecipients(Message.RecipientType type, Address[] addresses)
          指定されたアドレスを指定された受信者タイプに追加します。
 void addRecipients(Message.RecipientType type, String addresses)
          指定されたアドレスを指定された受信者タイプに追加します。
protected  InternetHeaders createInternetHeaders(InputStream is)
          指定された InputStream からヘッダをロードする InternetHeaders オブジェクトを作成し、返します。
protected  MimeMessage createMimeMessage(Session session)
          Create and return a MimeMessage object.
 Enumeration getAllHeaderLines()
          全てのヘッダ行を String の Enumeration として取得します。
 Enumeration getAllHeaders()
          このメッセージの全てのヘッダを Header オブジェクトの列挙として返します。
 Address[] getAllRecipients()
          メッセージの全ての受信者アドレスを取得します。
 Object getContent()
          内容を Java オブジェクトとして返します。
 String getContentID()
          "Content-ID" ヘッダフィールドの値を返します。
 String[] getContentLanguage()
          このメッセージの "Content-Language" ヘッダフィールドで指定される言語を取得します。
 String getContentMD5()
          "Content-MD5" ヘッダフィールドの値を返します。
protected  InputStream getContentStream()
          内容の生バイトを生成します。
 String getContentType()
          RFC 822 "Content-Type" ヘッダフィールドの値を返します。
 DataHandler getDataHandler()
          このメッセージの内容の DataHandler を返します。
 String getDescription()
          このメッセージの "Content-Description" ヘッダフィールドを返します。
 String getDisposition()
          "Content-Disposition" ヘッダフィールドの値を返します。
 String getEncoding()
          "Content-Transfer-Encoding" ヘッダフィールドからの転送内容エンコーディングを返します。
 String getFileName()
          このメッセージに関連付けられたファイル名を取得します。
 Flags getFlags()
          このメッセージのフラグを含む Flags オブジェクトを返します。
 Address[] getFrom()
          RFC 822 "From" ヘッダフィールドの値を返します。
 String[] getHeader(String name)
          この header_name の全てのヘッダを取得します。
 String getHeader(String name, String delimiter)
          このヘッダ名の全てのヘッダを取得し、 区切り文字で区切られたヘッダが単一の文字列として返されます。
 InputStream getInputStream()
          このメッセージの "content" に対するデコードされた入力ストリームを返します。
 int getLineCount()
          このメッセージの内容の行数を返します。
 Enumeration getMatchingHeaderLines(String[] names)
          一致するヘッダ行を String の Enumeration として取得します。
 Enumeration getMatchingHeaders(String[] names)
          このメッセージから一致するヘッダを Header オブジェクトの Enumeration として返します。
 String getMessageID()
          "Message-ID" ヘッダフィールドの値を返します。
 Enumeration getNonMatchingHeaderLines(String[] names)
          一致しないヘッダ行を String の Enumeration として取得します。
 Enumeration getNonMatchingHeaders(String[] names)
          このメッセージから一致しないヘッダを Header オブジェクトの Enumeration として返します。
 InputStream getRawInputStream()
          任意の Content-Transfer-Encoding をそのままにして、 生データへの InputStream を返します。
 Date getReceivedDate()
          このメッセージが受信された日時を返します。
 Address[] getRecipients(Message.RecipientType type)
          型により指定された受信者を返します。
 Address[] getReplyTo()
          RFC 822 "Reply-To" ヘッダフィールドの値を返します。
 Address getSender()
          Returns the value of the RFC 822 "Sender" header field.
 Date getSentDate()
          RFC 822 "Date" フィールドの値を返します。
 int getSize()
          このメッセージの内容サイズをバイト単位で返します。
 String getSubject()
          "Subject" ヘッダフィールドの値を返します。
 boolean isMimeType(String mimeType)
          指定された MIME タイプのパートかどうかを識別します。
 boolean isSet(Flags.Flag flag)
          flag 引数に指定されたフラグがこのメッセージ内に設定されているかどうかをチェックします。
protected  void parse(InputStream is)
          headers 及び content フィールドを適切に設定する InputStream を構文解析します。
 void removeHeader(String name)
          この名前を持つ全てのヘッダを削除します。
 Message reply(boolean replyToAll)
          このメッセージへの返信に適した新しいメッセージを取得します。
 void saveChanges()
          このメッセージの適切なヘッダフィールドを更新し、 メッセージの内容と一貫性がある様にします。
 void setContent(Multipart mp)
          このメソッドはメッセージのコンテンツを Multipart オブジェクトに設定します。
 void setContent(Object o, String type)
          このメッセージのコンテンツを設定するための簡易メソッドです。
 void setContentID(String cid)
          このメッセージの "Content-ID" ヘッダフィールドを設定します。
 void setContentLanguage(String[] languages)
          この MimePart の "Content-Language" ヘッダを設定します。
 void setContentMD5(String md5)
          このメッセージの "Content-MD5" ヘッダフィールドを設定します。
 void setDataHandler(DataHandler dh)
          このメソッドはこのパートの内容を設定するための仕組みを提供します。
 void setDescription(String description)
          このメッセージの "Content-Description" ヘッダフィールドを設定します。
 void setDescription(String description, String charset)
          このメッセージの "Content-Description" ヘッダフィールドを設定します。
 void setDisposition(String disposition)
          このメッセージの "Content-Disposition" ヘッダフィールドを設定します。
 void setFileName(String filename)
          可能であれば、この部分に関連付けられたファイル名を設定します。
 void setFlags(Flags flag, boolean set)
          このメッセージのフラグを設定します。
 void setFrom()
          InternetAddress.getLocalAddress メソッドの値を使用して、 RFC 822 "Form" ヘッダフィールドを設定します。
 void setFrom(Address address)
          RFC 822 "From" ヘッダフィールドを設定します。
 void setHeader(String name, String value)
          この header_name の値を設定します。
 void setRecipients(Message.RecipientType type, Address[] addresses)
          指定された受信者のタイプを指定されたアドレスに設定します。
 void setRecipients(Message.RecipientType type, String addresses)
          指定された受信者のタイプを指定されたアドレスに設定します。
 void setReplyTo(Address[] addresses)
          RFC 822 "Reply-To" ヘッダフィールドを設定します。
 void setSender(Address address)
          Set the RFC 822 "Sender" header field.
 void setSentDate(Date d)
          RFC 822 "Date" ヘッダフィールドを設定します。
 void setSubject(String subject)
          "Subject" ヘッダフィールドを設定します。
 void setSubject(String subject, String charset)
          "Subject" ヘッダフィールドを設定します。
 void setText(String text)
          指定された文字列をこのパートのコンテンツとして、 "text/plain" の MIME タイプで設定する簡易メソッドです。
 void setText(String text, String charset)
          "text/plain" の MIME タイプ及び指定された文字セットを使用し、 指定された文字列をこのパートのコンテンツとして設定する簡易メソッドです。
 void setText(String text, String charset, String subtype)
          "text" の MIME タイプ及び指定された MIME サブタイプを使用し、 指定された文字列をこのパートのコンテンツとして設定する簡易メソッドです。
protected  void updateHeaders()
          saveChanges メソッドにより呼び出され、 実際に MIME ヘッダを更新します。
protected  void updateMessageID()
          Update the Message-ID header.
 void writeTo(OutputStream os)
          メッセージを RFC 822 形式のストリームとして出力します。
 void writeTo(OutputStream os, String[] ignoreList)
          メッセージを RFC 822 形式ストリームとして、指定されたヘッダ無しで出力します。
 
クラス javax.mail.Message から継承されたメソッド
addRecipient, getFolder, getMessageNumber, isExpunged, match, setExpunged, setFlag, setMessageNumber, setRecipient
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

dh

protected DataHandler dh
この Message の内容を表す DataHandler オブジェクトです。


content

protected byte[] content
この Message の内容のバイトを保持するバイト配列です。


contentStream

protected InputStream contentStream
このメッセージのデータが SharedInputStream インタフェースを実装する InputStream により供給された場合、 contentStream がこのメッセージの内容を表すもう 1 つのストリームです。 この場合、content は null です。

導入されたバージョン:
JavaMail 1.2

headers

protected InternetHeaders headers
このメッセージのヘッダを格納する InternetHeaders オブジェクトです。


flags

protected Flags 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
コンストラクタの詳細

MimeMessage

public MimeMessage(Session session)
デフォルトのコンストラクタです。空のメッセージオブジェクトが作成されます。 headers フィールドは空の InternetHeaders オブジェクトに設定されます。 flags フィールドは空の Flags オブジェクトに設定されます。 modified フラグは true に設定されます。


MimeMessage

public MimeMessage(Session session,
                   InputStream is)
            throws MessagingException
指定された MIME InputStream のデータを読み取り、 構文解析することで、MimeMessage を構築します。 InputStream はメッセージデータの最後に位置付けられます。

入力ストリームの構文解析は、このコンストラクタ自体の内部で行われることに注意してください。

パラメータ:
session - このメッセージの 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 をサブクラス化するプロバイダ向けです。


MimeMessage

protected MimeMessage(Folder folder,
                      InputStream 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)
指定された InternetHeaders オブジェクトおよび内容から MimeMessage を構築します。 このメソッドは MimeMessage をサブクラス化するプロバイダ向けです。

パラメータ:
folder - 包含するフォルダ
headers - メッセージ入力ストリーム
content - The message content
msgnum - フォルダ内のこのメッセージのメッセージ番号
例外:
MessagingException
メソッドの詳細

parse

protected final void parse(InputStream is)
                    throws MessagingException
headers 及び content フィールドを適切に設定する InputStream を構文解析します。 又、modified フラグをリセットします。

このメソッドは、InputStream の構文解析時に制御する必要があるサブクラスにより使用されます。

パラメータ:
is - メッセージ入力ストリーム
例外:
MessagingException

getFrom

public Address[] getFrom()
                  throws MessagingException
RFC 822 "From" ヘッダフィールドの値を返します。 このヘッダフィールドが存在しない場合は、"Sender" ヘッダフィールドが使用されます。 "Sender" ヘッダフィールドも存在しない場合は、null を返します。

この実装は getHeader メソッドを使用し、必要なヘッダフィールドを取得します。

定義:
クラス Message 内の getFrom
戻り値:
Address オブジェクト
例外:
MessagingException
関連項目:
headers

setFrom

public void setFrom(Address address)
             throws MessagingException
RFC 822 "From" ヘッダフィールドを設定します。 全ての既存の値は指定されたアドレスで置き換えられます。 address が null の場合は、このヘッダが削除されます。

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

setFrom

public final void setFrom()
                   throws MessagingException
InternetAddress.getLocalAddress メソッドの値を使用して、 RFC 822 "Form" ヘッダフィールドを設定します。

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

addFrom

public void addFrom(Address[] addresses)
             throws MessagingException
指定されたアドレスを既存の "From" フィールドに追加します。 "From" フィールドが存在しない場合は作成されます。

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

getSender

public Address getSender()
                  throws MessagingException
Returns the value of the RFC 822 "Sender" header field. If the "Sender" header field is absent, null is returned.

This implementation uses the getHeader method to obtain the requisite header field.

戻り値:
Address object
例外:
MessagingException
導入されたバージョン:
JavaMail 1.3
関連項目:
headers

setSender

public void setSender(Address address)
               throws MessagingException
Set the RFC 822 "Sender" header field. Any existing values are replaced with the given address. If address is null, this header is removed.

パラメータ:
address - the sender of this message
例外:
IllegalWriteException - if the underlying implementation does not support modification of existing values
IllegalStateException - if this message is obtained from a READ_ONLY folder.
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 final 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 - 実装が既存値の変更をサポートしない場合
IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException
関連項目:
getRecipients(javax.mail.Message.RecipientType)

setRecipients

public final void setRecipients(Message.RecipientType type,
                                String addresses)
                         throws MessagingException
指定された受信者のタイプを指定されたアドレスに設定します。 アドレスパラメータが null の場合は、対応する受信者フィールドが削除されます。

パラメータ:
type - 受信者タイプ
addresses - アドレス
例外:
AddressException - アドレス文字列の構文解析に失敗した場合
IllegalWriteException - 実装が既存値の変更をサポートしない場合
IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException
導入されたバージョン:
JavaMail 1.2
関連項目:
getRecipients(javax.mail.Message.RecipientType)

addRecipients

public void addRecipients(Message.RecipientType type,
                          Address[] addresses)
                   throws MessagingException
指定されたアドレスを指定された受信者タイプに追加します。

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

addRecipients

public final void addRecipients(Message.RecipientType type,
                                String addresses)
                         throws MessagingException
指定されたアドレスを指定された受信者タイプに追加します。

パラメータ:
type - 受信者タイプ
addresses - アドレス
例外:
AddressException - アドレス文字列の構文解析に失敗した場合
IllegalWriteException - 実装が既存値の変更をサポートしない場合
IllegalStateException - このメッセージが 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" ヘッダフィールドを設定します。 addresses パラメータが null の場合は、このヘッダが削除されます。

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

getSubject

public String getSubject()
                  throws MessagingException
"Subject" ヘッダフィールドの値を返します。 件名フィールドが使用できない場合、又はその値が存在しない場合は null を返します。

件名が RFC 2047 に従ってエンコードされている場合、デコードされ、Unicode に変換されます。 デコーディングまたは変換が失敗した場合、生データがそのまま返されます。

この実装は getHeader メソッドを使用し、必要なヘッダフィールドを取得します。

定義:
クラス Message 内の getSubject
戻り値:
件名
例外:
MessagingException
関連項目:
headers

setSubject

public final void setSubject(String subject)
                      throws MessagingException
"Subject" ヘッダフィールドを設定します。 件名に US-ASCII 以外の文字が含まれる場合は、 プラットフォームのデフォルト文字セットを使用してエンコードされます。 件名に US-ASCII 文字セットだけが含まれる場合は、 エンコーディングが行われず、そのまま使用されます。 件名が null の場合は、既存の "Subject" フィールドが削除されます。

文字セットエンコーディング処理が失敗する場合、MessagingException がスローされ、 UnsupportedEncodingException が MessagingException 内の入れ子にされた例外のチェーンに含まれることに注意して下さい。

定義:
クラス Message 内の setSubject
パラメータ:
subject - 件名
例外:
IllegalWriteException - 実装が既存値の変更をサポートしない場合
IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException - 文字セット変換が失敗すると、UnsupportedEncodingException が例外チェーンに含まれる場合があります

setSubject

public void setSubject(String subject,
                       String charset)
                throws MessagingException
"Subject" ヘッダフィールドを設定します。 件名に US-ASCII 以外の文字が含まれる場合は、 指定された文字セットを使用してエンコードされます。 件名に US-ASCII 文字セットだけが含まれる場合は、 エンコーディングが行われず、そのまま使用されます。 件名が null の場合は、既存の "Subject" フィールドが削除されます。

文字セットエンコーディング処理が失敗する場合、MessagingException がスローされ、 UnsupportedEncodingException が MessagingException 内の入れ子にされた例外のチェーンに含まれることに注意して下さい。

パラメータ:
subject - 件名
charset - 文字セット
例外:
IllegalWriteException - 実装が既存値の変更をサポートしない場合
IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException - 文字セット変換が失敗すると、UnsupportedEncodingException が例外チェーンに含まれる場合があります

getSentDate

public Date getSentDate()
                 throws MessagingException
RFC 822 "Date" フィールドの値を返します。 これはこのメッセージが送信された日付です。 このフィールドが使用できない、またはその値が存在しない場合は null を返します。

この実装は getHeader メソッドを使用し、必要なヘッダフィールドを取得します。

定義:
クラス Message 内の getSentDate
戻り値:
送信日時
例外:
MessagingException

setSentDate

public void setSentDate(Date d)
                 throws MessagingException
RFC 822 "Date" ヘッダフィールドを設定します。 これはメッセージの作成者がメッセージの完成と配信準備完了を示す日付です。 この日付パラメータが null の場合は既存の "Date" フィールドが削除されます。

定義:
クラス Message 内の setSentDate
パラメータ:
d - このメッセージの送信日付
例外:
IllegalWriteException - 実装が変更をサポートしない場合
IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException

getReceivedDate

public Date 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 String getContentType()
                      throws MessagingException
RFC 822 "Content-Type" ヘッダフィールドの値を返します。 これは、このメッセージの内容のコンテンツ形式を表します。 この値は null であってはなりません。 このフィールドが使用可能でない場合、"text/plain" が返されます。

この実装は getHeader メソッドを使用し、必要なヘッダフィールドを取得します。

定義:
インタフェース Part 内の getContentType
戻り値:
この部分のコンテンツ形式
例外:
MessagingException
関連項目:
DataHandler

isMimeType

public final boolean isMimeType(String mimeType)
                         throws MessagingException
指定された MIME タイプのパートかどうかを識別します。 このメソッドは、primaryTypesubType のみを比較します。 コンテンツ形式のパラメータは無視されます。

たとえば、コンテンツ形式 "text/plain" のパートを "text/plain; charset=foobar" と比較すると、 このメソッドは true を返します。

mimeTypesubType が特殊文字 '*' の場合、 比較時にサブタイプは無視されます。

定義:
インタフェース Part 内の isMimeType
例外:
MessagingException

getDisposition

public String getDisposition()
                      throws MessagingException
"Content-Disposition" ヘッダフィールドの値を返します。 これはこのパートのディスポジションを表します。 このパートがどのようにユーザに提示されるかを示します。

Content-Disposition フィールドが使用できない場合は null を返します。

この実装は getHeader メソッドを使用し、必要なヘッダフィールドを取得します。

定義:
インタフェース Part 内の getDisposition
戻り値:
このパートのディスポジション、不明の場合は null
例外:
MessagingException
関連項目:
Part.ATTACHMENT, Part.INLINE, Part.getFileName()

setDisposition

public void setDisposition(String disposition)
                    throws MessagingException
このメッセージの "Content-Disposition" ヘッダフィールドを設定します。 disposition が null の場合は、 既存の全ての "Content-Disposition" ヘッダフィールドが削除されます。

定義:
インタフェース Part 内の setDisposition
パラメータ:
disposition - この Part の処置
例外:
IllegalWriteException - 実装が変更をサポートしない場合
IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException
関連項目:
Part.ATTACHMENT, Part.INLINE, Part.setFileName(java.lang.String)

getEncoding

public String getEncoding()
                   throws MessagingException
"Content-Transfer-Encoding" ヘッダフィールドからの転送内容エンコーディングを返します。 ヘッダが使用できない場合、又はその値が存在しない場合は null を返します。

この実装は getHeader メソッドを使用し、必要なヘッダフィールドを取得します。

定義:
インタフェース MimePart 内の getEncoding
戻り値:
転送内容エンコーディング
例外:
MessagingException

getContentID

public String getContentID()
                    throws MessagingException
"Content-ID" ヘッダフィールドの値を返します。 フィールドが使用できない場合、又ははその値が存在しない場合は null を返します。

この実装は getHeader メソッドを使用し、必要なヘッダフィールドを取得します。

定義:
インタフェース MimePart 内の getContentID
戻り値:
コンテンツ ID
例外:
MessagingException

setContentID

public void setContentID(String cid)
                  throws MessagingException
このメッセージの "Content-ID" ヘッダフィールドを設定します。 cid パラメータが null の場合は、 既存の全ての "Content-ID" が削除されます。

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

getContentMD5

public String getContentMD5()
                     throws MessagingException
"Content-MD5" ヘッダフィールドの値を返します。 フィールドが使用できない場合、又はその値が存在しない場合は null を返します。

この実装は getHeader メソッドを使用し、必要なヘッダフィールドを取得します。

定義:
インタフェース MimePart 内の getContentMD5
戻り値:
コンテンツ MD5
例外:
MessagingException

setContentMD5

public void setContentMD5(String md5)
                   throws MessagingException
このメッセージの "Content-MD5" ヘッダフィールドを設定します。

定義:
インタフェース MimePart 内の setContentMD5
パラメータ:
md5 - コンテンツ ID
例外:
IllegalWriteException - 実装が変更をサポートしない場合
IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException

getDescription

public String getDescription()
                      throws MessagingException
このメッセージの "Content-Description" ヘッダフィールドを返します。 これは通常、説明的な情報をこのパートに関連付けます。 このフィールドが使用できない場合、又はその値が存在しない場合は null を返します。

Content-Description フィールドが RFC 2047 に従ってエンコードされている場合、 デコードされ、Unicode に変換されます。 デコーディング又は変換が失敗した場合、生データがそのまま返されます。

この実装は getHeader メソッドを使用し、必要なヘッダフィールドを取得します。

定義:
インタフェース Part 内の getDescription
戻り値:
content-description
例外:
MessagingException

setDescription

public final void setDescription(String description)
                          throws MessagingException
このメッセージの "Content-Description" ヘッダフィールドを設定します。 description パラメータが null の場合は、 既存の全ての "Content-Description" フィールドが削除されます。

description に US-ASCII 以外の文字が含まれる場合は、 プラットフォームのデフォルト文字セットを使用してエンコードされます。 description に US-ASCII 文字だけが含まれる場合は、 エンコーディングは行われず、そのまま使用されます。

文字セットエンコーディング処理が失敗する場合、 MessagingException がスローされ、 UnsupportedEncodingException が MessagingException 内の入れ子にされた例外のチェーンに含まれることに注意して下さい。

定義:
インタフェース Part 内の setDescription
パラメータ:
description - content-description
例外:
IllegalWriteException - 実装が変更をサポートしない場合
IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException - 文字セット変換が失敗すると、UnsupportedEncodingException が例外チェーンに含まれる場合があります

setDescription

public void setDescription(String description,
                           String charset)
                    throws MessagingException
このメッセージの "Content-Description" ヘッダフィールドを設定します。 description パラメータが null の場合は、 既存の全ての "Content-Description" フィールドが削除されます。

description に US-ASCII 以外の文字が含まれる場合は、 指定された文字セットを使用してエンコードされます。 description に US-ASCII 文字だけが含まれる場合は、 エンコーディングは行われず、そのまま使用されます。

文字セットエンコーディング処理が失敗する場合、 MessagingException がスローされ、 UnsupportedEncodingException が MessagingException 内の入れ子にされた例外のチェーンに含まれることに注意して下さい。

パラメータ:
description - Description
charset - キャラクタエンコーディング
例外:
IllegalWriteException - 実装が変更をサポートしない場合
IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException - 文字セット変換が失敗すると、UnsupportedEncodingException が例外チェーンに含まれる場合があります

getContentLanguage

public final String[] getContentLanguage()
                                  throws MessagingException
このメッセージの "Content-Language" ヘッダフィールドで指定される言語を取得します。 Content-Language ヘッダは RFC 1766 により定義されます。 このフィールドが使用できない場合、又はその値が存在しない場合は null を返します。

この実装は getHeader メソッドを使用し、必要なヘッダフィールドを取得します。

定義:
インタフェース MimePart 内の getContentLanguage
戻り値:
Content-Language ヘッダの値
例外:
MessagingException

setContentLanguage

public void setContentLanguage(String[] languages)
                        throws MessagingException
この MimePart の "Content-Language" ヘッダを設定します。 Content-Language ヘッダは RFC 1766 により定義されます。

定義:
インタフェース MimePart 内の setContentLanguage
パラメータ:
languages - 言語タグの配列
例外:
IllegalWriteException - 実装が変更をサポートしない場合
IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException

getMessageID

public String getMessageID()
                    throws MessagingException
"Message-ID" ヘッダフィールドの値を返します。 このフィールドが使用できない場合、又はその値が存在しない場合は null を返します。

ここで提供されるデフォルトの実装は getHeader メソッドを使用し、 "Message-ID" フィールドの値を返します。

戻り値:
Message-ID ヘッダの値
例外:
MessagingException - このフィールドの取得により例外が発生する場合
導入されたバージョン:
JavaMail 1.1
関連項目:
MessageIDTerm

getFileName

public String getFileName()
                   throws MessagingException
このメッセージに関連付けられたファイル名を取得します。

このメッセージの "Content-Disposition" ヘッダフィールドにおける "filename" パラメータの値を返します。 このパラメータが使用できない場合は、この BodyPart の "Content-Type" ヘッダフィールドにおける "name" パラメータの値を返します。 両方とも存在しない場合は null を返します。

定義:
インタフェース Part 内の getFileName
戻り値:
ファイル名
例外:
MessagingException - このフィールドの取得により例外が発生する場合

setFileName

public void setFileName(String filename)
                 throws MessagingException
可能であれば、この部分に関連付けられたファイル名を設定します。

このメッセージの "Content-Disposition" ヘッダフィールドにおける "filename" パラメータを設定します。

定義:
インタフェース Part 内の setFileName
パラメータ:
filename - この Part に関連付けるファイル名
例外:
IllegalWriteException - 実装が変更をサポートしない場合
IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException

getInputStream

public final InputStream getInputStream()
                                 throws IOException,
                                        MessagingException
このメッセージの "content" に対するデコードされた入力ストリームを返します。

この実装は DataHandler から入力ストリームを取得します。 つまり、getDataHandler().getInputStream() を呼び出します。

定義:
インタフェース Part 内の getInputStream
戻り値:
入力ストリーム
例外:
MessagingException
IOException - これは通常 DataHandler によりスローされる。 詳細については javax.activation.DataHandler のマニュアルを参照して下さい。
関連項目:
getContentStream(), DataHandler

getContentStream

protected InputStream getContentStream()
                                throws MessagingException
内容の生バイトを生成します。 このメソッドは、構文解析時、内容の DataHandler オブジェクトを作成する為に使用されます。 メッセージの内容だけの別個の入力ストリームを提供可能なサブクラスは、 このメソッドをオーバーライドする場合があります。

この実装は、content バイト配列から構築される ByteArrayInputStream を返すだけです。

例外:
MessagingException
関連項目:
content

getRawInputStream

public final InputStream getRawInputStream()
                                    throws MessagingException
任意の Content-Transfer-Encoding をそのままにして、 生データへの InputStream を返します。 このメソッドは "Content-Transfer-Encoding" ヘッダが正しくなかったり壊れていたりする場合に役立ちます。 この場合、getInputStream メソッドまたは getContent メソッドは正しいデータを返す事が出来ません。 アプリケーションはこのメソッドを使用し、生データその物のデコードを試みる事が出来ます。

この実装は単に getContentStream メソッドを呼び出します。

例外:
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()); } .... <その他の DataSource メソッド> }

定義:
インタフェース Part 内の getDataHandler
戻り値:
コンテンツの DataHandler
例外:
MessagingException

getContent

public final Object getContent()
                        throws IOException,
                               MessagingException
内容を Java オブジェクトとして返します。 このオブジェクトのタイプは内容その物に依存します。 例えば、"text/plain" コンテンツの固有形式は普通 String オブジェクトです。 "multipart" メッセージの固有形式は常に Multipart サブクラスです。 不明なコンテンツ形式の場合は DataHandler システムに、 入力ストリームがコンテンツとして返されます。

この実装は DataHandler からコンテンツを取得します。 つまり、getDataHandler().getContent() を呼び出します。

定義:
インタフェース Part 内の getContent
戻り値:
オブジェクト
例外:
MessagingException
IOException - これは通常 DataHandler によりスローされます。 詳細については javax.activation.DataHandler のマニュアルを参照して下さい。
関連項目:
Part, DataHandler

setDataHandler

public void setDataHandler(DataHandler dh)
                    throws MessagingException
このメソッドはこのパートの内容を設定するための仕組みを提供します。 指定された DataHandler オブジェクトは実際の内容をラップしなければなりません。

定義:
インタフェース Part 内の setDataHandler
パラメータ:
dh - コンテンツの DataHandler
例外:
IllegalWriteException - 実装が変更をサポートしない場合
IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException

setContent

public final void setContent(Object o,
                             String type)
                      throws MessagingException
このメッセージのコンテンツを設定するための簡易メソッドです。

コンテンツは DataHandler オブジェクト内にラップされます。 これが正しく機能する為に、 指定されたタイプの DataContentHandler クラスが JavaMail 実装に対して使用可能でなければならない事に注意して下さい。 つまり、setContent(foobar, "application/x-foobar") を実行する為に、 "application/x-foobar" の DataContentHandler がインストールされている必要があります。 詳細については Java Activation Framework を参照して下さい。

定義:
インタフェース Part 内の setContent
パラメータ:
o - コンテンツオブジェクト
type - オブジェクトの MIME タイプ
例外:
IllegalWriteException - 実装が既存値の変更をサポートしない場合
IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException

setText

public final void setText(String text)
                   throws MessagingException
指定された文字列をこのパートのコンテンツとして、 "text/plain" の MIME タイプで設定する簡易メソッドです。 文字列に US-ASCII 以外の文字が含まれる場合、 プラットフォームのデフォルトの文字セットを使用してエンコードされます。 この文字セットは "charset" パラメータを設定する為にも使用されます。

このメソッドは使用する文字セットを決める為に全ての文字を走査しなければならない場合があるので、 text が大きい場合は性能が低下する可能性がある事に注意して下さい。

文字セットが既知の場合、文字セットパラメータを受け取る setText() を使用して下さい。

定義:
インタフェース MimePart 内の setText
定義:
インタフェース Part 内の setText
パラメータ:
text - Message のコンテンツであるテキスト
例外:
IllegalWriteException - 実装がこのヘッダの変更をサポートしない場合
MessagingException
関連項目:
setText(String text, String charset)

setText

public final void setText(String text,
                          String charset)
                   throws MessagingException
"text/plain" の MIME タイプ及び指定された文字セットを使用し、 指定された文字列をこのパートのコンテンツとして設定する簡易メソッドです。 指定された Unicode 文字列は、指定された文字セットを使用して文字セットエンコードされます。 この文字セットは "charset" パラメータを設定する為にも使用されます。

定義:
インタフェース MimePart 内の setText
パラメータ:
text - the text content to set
charset - the charset to use for the text
例外:
MessagingException - if an error occurs

setText

public void setText(String text,
                    String charset,
                    String subtype)
             throws MessagingException
"text" の MIME タイプ及び指定された MIME サブタイプを使用し、 指定された文字列をこのパートのコンテンツとして設定する簡易メソッドです。 指定された Unicode 文字列は、指定された文字セットを使用して文字セットエンコードされます。 この文字セットは "charset" パラメータを設定する為にも使用されます。

定義:
インタフェース MimePart 内の setText
パラメータ:
text - the text content to set
charset - the charset to use for the text
subtype - the MIME subtype to use (e.g., "html")
例外:
MessagingException - if an error occurs

setContent

public final void setContent(Multipart mp)
                      throws MessagingException
このメソッドはメッセージのコンテンツを Multipart オブジェクトに設定します。

定義:
インタフェース Part 内の setContent
パラメータ:
mp - メッセージのコンテンツである Multipart オブジェクト
例外:
IllegalWriteException - 実装が既存値の変更をサポートしない場合
IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException

reply

public final Message reply(boolean replyToAll)
                    throws MessagingException
このメッセージへの返信に適した新しいメッセージを取得します。 新しいメッセージの属性とヘッダは適切に設定されます。 この新しいメッセージは空、すなわち "content" を持たない事に注意して下さい。 これらは、クライアントが適切に埋める必要があります。

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

"Subject" フィールドは、元の件名に接頭辞「Re:」を付けて記述されます (既に先頭が「Re:」でない場合)。 このメッセージに "Message-Id" ヘッダがある場合は、 新しいメッセージの中に "In-Reply-To" ヘッダが設定されます。 このメッセージの ANSWERED フラグに true が設定されます。

定義:
クラス Message 内の reply
パラメータ:
replyToAll - 返信はこのメッセージの全ての受信者に送信されなければならない
戻り値:
返信用メッセージ
例外:
MessagingException

writeTo

public void writeTo(OutputStream os)
             throws IOException,
                    MessagingException
メッセージを RFC 822 形式のストリームとして出力します。

メッセージの構築方法により、様々な行末処理を使用する場合がある事に注意が必要です。 一般に、出力は適切な FilterOutputStream を使用して送信されなければなりません。 これにより、行の終端は、MIME 準拠や Internet プロトコルで使用可能な CRLF、 又はローカルのテキストファイルに格納可能なローカルプラットフォームの行終端のどちらか希望する形式に変換されます。

この実装は、null 無視リストを使用して writeTo(OutputStream, String[]) メソッドを呼び出します。

定義:
インタフェース Part 内の writeTo
例外:
IOException - ストリームへの書き込み中にエラーが発生する場合、 又は javax.activation レイヤによりエラーが生成される場合
MessagingException
関連項目:
DataHandler

writeTo

public final void writeTo(OutputStream os,
                          String[] ignoreList)
                   throws IOException,
                          MessagingException
メッセージを RFC 822 形式ストリームとして、指定されたヘッダ無しで出力します。 saved フラグが設定されない場合は、 saveChanges メソッドが呼び出されます。 modified フラグが設定されず、 content 配列が null でない場合は、 適切なメッセージヘッダの書き込み後、content 配列が直接書き込まれます。

例外:
MessagingException
IOException - ストリームへの書き込み中にエラーが発生する場合、 又は javax.activation レイヤによりエラーが生成される場合
関連項目:
DataHandler

getHeader

public String[] getHeader(String name)
                   throws MessagingException
この header_name の全てのヘッダを取得します。 ヘッダが US-ASCII 以外の文字を含む場合、RFC 2047 に基づきエンコードされているので、 デコードが必要となる事に注意して下さい。

この実装は headers InternetHeaders オブジェクトからヘッダを取得します。

定義:
インタフェース Part 内の getHeader
パラメータ:
name - ヘッダの名前
戻り値:
ヘッダの配列
例外:
MessagingException
関連項目:
MimeUtility

getHeader

public String getHeader(String name,
                        String delimiter)
                 throws MessagingException
このヘッダ名の全てのヘッダを取得し、 区切り文字で区切られたヘッダが単一の文字列として返されます。 delimiter が null の場合は、最初のヘッダだけが返されます。

定義:
インタフェース MimePart 内の getHeader
パラメータ:
name - このヘッダの名前
delimiter - 区切り文字
戻り値:
この名前を持つ全てのヘッダに対する値フィールド
例外:
MessagingException

setHeader

public void setHeader(String name,
                      String value)
               throws MessagingException
この header_name の値を設定します。 既存の全てのヘッダ値をこの新しい値で置き換えます。 RFC 822 ヘッダは US-ASCII 文字のみを含まなければならない為、 US-ASCII 以外の文字を含むヘッダは、呼び出し側により RFC 2047 の規則に従ってエンコードされなければならないことに注意して下さい。

定義:
インタフェース Part 内の setHeader
パラメータ:
name - ヘッダ名
value - ヘッダ値
例外:
IllegalWriteException - 実装が変更をサポートしない場合
IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException
関連項目:
MimeUtility

addHeader

public void addHeader(String name,
                      String value)
               throws MessagingException
この値をこの header_name の既存値に追加します。 RFC 822 ヘッダは US-ASCII 文字のみを含まなければならない為、 US-ASCII 以外の文字を含むヘッダは RFC 2047 の規則に従ってエンコードされなければならない事に注意して下さい。

定義:
インタフェース Part 内の addHeader
パラメータ:
name - ヘッダ名
value - ヘッダ値
例外:
IllegalWriteException - 実装が変更をサポートしない場合
IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException
関連項目:
MimeUtility

removeHeader

public void removeHeader(String name)
                  throws MessagingException
この名前を持つ全てのヘッダを削除します。

定義:
インタフェース Part 内の removeHeader
パラメータ:
name - このヘッダの名前
例外:
IllegalWriteException - 実装が変更をサポートしない場合
IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException

getAllHeaders

public Enumeration getAllHeaders()
                          throws MessagingException
このメッセージの全てのヘッダを Header オブジェクトの列挙として返します。

ヘッダが US-ASCII 以外の文字を含む場合、 RFC 2047 に基づいてエンコードされているので、 デコードが必要となる事に注意して下さい。

この実装は headers InternetHeaders オブジェクトからヘッダを取得します。

定義:
インタフェース Part 内の getAllHeaders
戻り値:
ヘッダオブジェクトの配列
例外:
MessagingException
関連項目:
MimeUtility

getMatchingHeaders

public Enumeration getMatchingHeaders(String[] names)
                               throws MessagingException
このメッセージから一致するヘッダを Header オブジェクトの Enumeration として返します。 この実装は headers InternetHeaders オブジェクトからヘッダを取得します。

定義:
インタフェース Part 内の getMatchingHeaders
戻り値:
Header オブジェクトの配列
例外:
MessagingException

getNonMatchingHeaders

public Enumeration getNonMatchingHeaders(String[] names)
                                  throws MessagingException
このメッセージから一致しないヘッダを Header オブジェクトの Enumeration として返します。 この実装は headers InternetHeaders オブジェクトからヘッダを取得します。

定義:
インタフェース Part 内の getNonMatchingHeaders
戻り値:
Header オブジェクトの配列
例外:
MessagingException

addHeaderLine

public void addHeaderLine(String line)
                   throws MessagingException
生 RFC 822 ヘッダ行を追加します。

定義:
インタフェース MimePart 内の addHeaderLine
例外:
IllegalWriteException - 実装が変更をサポートしない場合
IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException

getAllHeaderLines

public Enumeration getAllHeaderLines()
                              throws MessagingException
全てのヘッダ行を String の Enumeration として取得します。 Header 行は生 RFC 822 ヘッダ行であり、"name" 及び "value" の両フィールドを含みます。

定義:
インタフェース MimePart 内の getAllHeaderLines
例外:
MessagingException

getMatchingHeaderLines

public Enumeration getMatchingHeaderLines(String[] names)
                                   throws MessagingException
一致するヘッダ行を String の Enumeration として取得します。 Header 行は生 RFC 822 ヘッダ行であり、"name" 及び "value" の両フィールドを含みます。

定義:
インタフェース MimePart 内の getMatchingHeaderLines
例外:
MessagingException

getNonMatchingHeaderLines

public Enumeration getNonMatchingHeaderLines(String[] names)
                                      throws MessagingException
一致しないヘッダ行を String の Enumeration として取得します。 Header 行は生 RFC 822 ヘッダ行であり、"name" 及び "value" の両フィールドを含みます。

定義:
インタフェース MimePart 内の getNonMatchingHeaderLines
例外:
MessagingException

getFlags

public Flags getFlags()
               throws MessagingException
このメッセージのフラグを含む Flags オブジェクトを返します。

内部 Flags オブジェクトの複製が返されるので、 返された Flags オブジェクトを変更してもこのメッセージのフラグに影響しない事に注意して下さい。

定義:
クラス Message 内の getFlags
戻り値:
Flags このメッセージのフラグを含む 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 - 実装が変更をサポートしない場合
IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException
関連項目:
MessageChangedEvent

saveChanges

public void saveChanges()
                 throws MessagingException
このメッセージの適切なヘッダフィールドを更新し、 メッセージの内容と一貫性がある様にします。 このメッセージが Folder に含まれる場合、 このメッセージに対する全ての変更は、包含するフォルダにコミットされます。

メッセージのヘッダ又は内容の任意の部分が変更された場合、 saveChanges を呼び出して、それらの変更を永続的にしなければなりません。 そうしないと、そうした変更は、フォルダの実装により保存されたりされなかったりします。

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

このメソッドは modified フラグを true にし、 save フラグを true にして、 updateHeaders メソッドを呼び出します。

定義:
クラス Message 内の saveChanges
例外:
IllegalWriteException - 実装が変更をサポートしない場合
IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException

updateMessageID

protected void updateMessageID()
                        throws MessagingException
Update the Message-ID header. This method is called by the updateHeaders and allows a subclass to override only the algorithm for choosing a Message-ID.

例外:
MessagingException
導入されたバージョン:
JavaMail 1.4

updateHeaders

protected final void updateHeaders()
                            throws MessagingException
saveChanges メソッドにより呼び出され、 実際に MIME ヘッダを更新します。 この実装は、Content-Transfer-Encoding ヘッダ (必要な場合で既に設定されていない場合)、 Mime-Version ヘッダ、及び Message-ID ヘッダを設定します。 又、このメッセージの内容が MimeMultipart の場合、 updateHeaders メソッドが呼び出されます。

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

createInternetHeaders

protected final InternetHeaders createInternetHeaders(InputStream is)
                                               throws MessagingException
指定された InputStream からヘッダをロードする InternetHeaders オブジェクトを作成し、返します。 必要であれば、サブクラスはこのメソッドをオーバーライドし、 InternetHeaders のサブクラスを返す事が出来ます。 この実装は単に InternetHeaders オブジェクトを構築し、返します。

パラメータ:
is - ヘッダ読み込み元の InputStream
例外:
MessagingException
導入されたバージョン:
JavaMail 1.2

createMimeMessage

protected MimeMessage createMimeMessage(Session session)
                                 throws MessagingException
Create and return a MimeMessage object. The reply method uses this method to create the MimeMessage object that it will return. Subclasses can override this method to return a subclass of MimeMessage. This implementation simply constructs and returns a MimeMessage object using the supplied Session.

パラメータ:
session - the Session to use for the new message
戻り値:
the new MimeMessage object
例外:
MessagingException
導入されたバージョン:
JavaMail 1.4