javax.mail.internet
クラス MimeMessage

java.lang.Object
  |
  +--javax.mail.Message
        |
        +--javax.mail.internet.MimeMessage
すべての実装インタフェース:
MimePart, Part

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

内部クラスの概要
static class MimeMessage.RecipientType
          この内部クラスは javax.mail.Message.RecipientType クラスを拡張して、補足的な RecipientType を追加します。
 
クラス javax.mail.Message から継承した内部クラス
Message.RecipientType
 
フィールドの概要
protected  byte[] content
          この Message の内容のバイトを保持するバイト配列です。
protected  java.io.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, java.io.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, java.io.InputStream is)
          指定された MIME InputStream のデータを読み取り、構文解析することで、MimeMessage を構築します。
 
メソッドの概要
 void addFrom(Address[] addresses)
          指定されたアドレスを既存の「From」フィールドに追加します。
 void addHeader(java.lang.String name, java.lang.String value)
          この値をこの header_name の既存値に追加します。
 void addHeaderLine(java.lang.String line)
          raw RFC 822 ヘッダ行を追加します。
 void addRecipients(Message.RecipientType type, Address[] addresses)
          指定されたアドレスを指定された受信者タイプに追加します。
 void addRecipients(Message.RecipientType type, java.lang.String addresses)
          指定されたアドレスを指定された受信者タイプに追加します。
protected  InternetHeaders createInternetHeaders(java.io.InputStream is)
          指定された InputStream からヘッダをロードする InternetHeaders オブジェクトを作成し、返します。
 java.util.Enumeration getAllHeaderLines()
          すべてのヘッダ行を String の Enumeration として取得します。
 java.util.Enumeration getAllHeaders()
          この Message のすべてのヘッダを Header オブジェクトの列挙として返します。
 Address[] getAllRecipients()
          メッセージのすべての受信者アドレスを取得します。
 java.lang.Object getContent()
          内容を Java オブジェクトとして返します。
 java.lang.String getContentID()
          「Content-ID」ヘッダフィールドの値を返します。
 java.lang.String[] getContentLanguage()
          このメッセージの「Content-Language」ヘッダフィールドで指定される言語を取得します。
 java.lang.String getContentMD5()
          「Content-MD5」ヘッダフィールドの値を返します。
protected  java.io.InputStream getContentStream()
          内容の raw バイトを生成します。
 java.lang.String getContentType()
          RFC 822「Content-Type」ヘッダフィールドの値を返します。
 DataHandler getDataHandler()
          この Message の内容の DataHandler を返します。
 java.lang.String getDescription()
          この Message の「Content-Description」ヘッダフィールドを返します。
 java.lang.String getDisposition()
          「Content-Disposition」ヘッダフィールドの値を返します。
 java.lang.String getEncoding()
          「Content-Transfer-Encoding」ヘッダフィールドからの内容転送エンコーディングを返します。
 java.lang.String getFileName()
          この Message に関連付けられたファイル名を取得します。
 Flags getFlags()
          このメッセージのフラグを含む Flags オブジェクトを返します。
 Address[] getFrom()
          RFC 822「From」ヘッダフィールドの値を返します。
 java.lang.String[] getHeader(java.lang.String name)
          この header_name のすべてのヘッダを取得します。
 java.lang.String getHeader(java.lang.String name, java.lang.String delimiter)
          このヘッダ名のすべてのヘッダを取得し、区切り文字で区切られたヘッダが単一の String として返されます。
 java.io.InputStream getInputStream()
          この Message の「content」に対するデコードされた入力ストリームを返します。
 int getLineCount()
          このメッセージの内容の行数を返します。
 java.util.Enumeration getMatchingHeaderLines(java.lang.String[] names)
          一致するヘッダ行を String の Enumeration として取得します。
 java.util.Enumeration getMatchingHeaders(java.lang.String[] names)
          この Message から一致するヘッダを Header オブジェクトの Enumeration として返します。
 java.lang.String getMessageID()
          「Message-ID」ヘッダフィールドの値を返します。
 java.util.Enumeration getNonMatchingHeaderLines(java.lang.String[] names)
          一致しないヘッダ行を String の Enumeration として取得します。
 java.util.Enumeration getNonMatchingHeaders(java.lang.String[] names)
          この Message から一致しないヘッダを Header オブジェクトの Enumeration として返します。
 java.io.InputStream getRawInputStream()
          任意の Content-Transfer-Encoding をそのままにして、raw データへの InputStream を返します。
 java.util.Date getReceivedDate()
          このメッセージが受信された Date を返します。
 Address[] getRecipients(Message.RecipientType type)
          型により指定された受信者を返します。
 Address[] getReplyTo()
          RFC 822「Reply-To」ヘッダフィールドの値を返します。
 java.util.Date getSentDate()
          RFC 822「Date」フィールドの値を返します。
 int getSize()
          このメッセージの内容サイズをバイト単位で返します。
 java.lang.String getSubject()
          「Subject」ヘッダフィールドの値を返します。
 boolean isMimeType(java.lang.String mimeType)
          指定された MIME タイプの Part かどうかを識別します。
 boolean isSet(Flags.Flag flag)
          flag 引数に指定されたフラグがこのメッセージ内に設定されているかどうかをチェックします。
protected  void parse(java.io.InputStream is)
          headers および content フィールドを適切に設定する InputStream を構文解析します。
 void removeHeader(java.lang.String name)
          この名前を持つすべてのヘッダを削除します。
 Message reply(boolean replyToAll)
          このメッセージへの返信に適した新しい Message を取得します。
 void saveChanges()
          このメッセージの適切なヘッダフィールドを更新し、メッセージの内容と一貫性があるようにします。
 void setContent(Multipart mp)
          このメソッドは Message の内容を Multipart オブジェクトに設定します。
 void setContent(java.lang.Object o, java.lang.String type)
          この Message の内容を設定するための簡易メソッドです。
 void setContentID(java.lang.String cid)
          この Message の「Content-ID」ヘッダフィールドを設定します。
 void setContentLanguage(java.lang.String[] languages)
          この MimePart の「Content-Language」ヘッダを設定します。
 void setContentMD5(java.lang.String md5)
          このメッセージの「Content-MD5」ヘッダフィールドを設定します。
 void setDataHandler(DataHandler dh)
          このメソッドはこの部分の内容を設定するための仕組みを提供します。
 void setDescription(java.lang.String description)
          この Message の「Content-Description」ヘッダフィールドを設定します。
 void setDescription(java.lang.String description, java.lang.String charset)
          この Message の「Content-Description」ヘッダフィールドを設定します。
 void setDisposition(java.lang.String disposition)
          この Message の「Content-Disposition」ヘッダフィールドを設定します。
 void setFileName(java.lang.String filename)
          可能であれば、この部分に関連付けられたファイル名を設定します。
 void setFlags(Flags flag, boolean set)
          このメッセージのフラグを設定します。
 void setFrom()
          InternetAddress.getLocalAddress メソッドの値を使用して、RFC 822「Form」ヘッダフィールドを設定します。
 void setFrom(Address address)
          RFC 822「From」ヘッダフィールドを設定します。
 void setHeader(java.lang.String name, java.lang.String value)
          この header_name の値を設定します。
 void setRecipients(Message.RecipientType type, Address[] addresses)
          指定された受信者のタイプを指定されたアドレスに設定します。
 void setRecipients(Message.RecipientType type, java.lang.String addresses)
          指定された受信者のタイプを指定されたアドレスに設定します。
 void setReplyTo(Address[] addresses)
          RFC 822「Reply-To」ヘッダフィールドを設定します。
 void setSentDate(java.util.Date d)
          RFC 822「Date」ヘッダフィールドを設定します。
 void setSubject(java.lang.String subject)
          「Subject」ヘッダフィールドを設定します。
 void setSubject(java.lang.String subject, java.lang.String charset)
          「Subject」ヘッダフィールドを設定します。
 void setText(java.lang.String text)
          指定された String をこの部分のコンテンツとして、「text/plain」の MIME タイプで設定する簡易メソッドです。
 void setText(java.lang.String text, java.lang.String charset)
          「text/plain」の MIME タイプおよび指定された文字セットを使用し、指定された String をこの部分のコンテンツとして設定する簡易メソッドです。
protected  void updateHeaders()
          saveChanges メソッドにより呼び出され、実際に MIME ヘッダを更新します。
 void writeTo(java.io.OutputStream os)
          メッセージを RFC 822 形式のストリームとして出力します。
 void writeTo(java.io.OutputStream os, java.lang.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 java.io.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,
                   java.io.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,
                      java.io.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)
               throws MessagingException
指定された InternetHeaders オブジェクトおよび内容から MimeMessage を構築します。このメソッドは MimeMessage をサブクラス化するプロバイダ向けです。
パラメータ:
folder - 包含するフォルダ
is - メッセージ入力ストリーム
msgnum - フォルダ内のこのメッセージのメッセージ番号
例外:
MessagingException -  
メソッドの詳細

parse

protected void parse(java.io.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 - 実装が既存値の変更をサポートしない場合
java.lang.IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException -  

setFrom

public void setFrom()
             throws MessagingException
InternetAddress.getLocalAddress メソッドの値を使用して、RFC 822「Form」ヘッダフィールドを設定します。
オーバーライド:
クラス Message 内の setFrom
例外:
IllegalWriteException - 実装が既存値の変更をサポートしない場合
java.lang.IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException -  

addFrom

public void addFrom(Address[] addresses)
             throws MessagingException
指定されたアドレスを既存の「From」フィールドに追加します。「From」フィールドが存在しない場合は作成されます。
オーバーライド:
クラス Message 内の addFrom
パラメータ:
addresses - このメッセージの送信者
例外:
IllegalWriteException - 実装が既存値の変更をサポートしない場合
java.lang.IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException -  

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 - 実装が既存値の変更をサポートしない場合
java.lang.IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException -  
関連項目:
getRecipients(javax.mail.Message.RecipientType)

setRecipients

public void setRecipients(Message.RecipientType type,
                          java.lang.String addresses)
                   throws MessagingException
指定された受信者のタイプを指定されたアドレスに設定します。アドレスパラメータが null の場合は、対応する受信者フィールドが削除されます。
パラメータ:
type - 受信者タイプ
addresses - アドレス
例外:
AddressException - アドレス String の構文解析に失敗した場合
IllegalWriteException - 実装が既存値の変更をサポートしない場合
java.lang.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 - 実装が既存値の変更をサポートしない場合
java.lang.IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException -  

addRecipients

public void addRecipients(Message.RecipientType type,
                          java.lang.String addresses)
                   throws MessagingException
指定されたアドレスを指定された受信者タイプに追加します。
パラメータ:
type - 受信者タイプ
addresses - アドレス
例外:
AddressException - アドレス String の構文解析に失敗した場合
IllegalWriteException - 実装が既存値の変更をサポートしない場合
java.lang.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
例外:
IllegalWriteException - 実装が既存値の変更をサポートしない場合
java.lang.IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException -  

getSubject

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

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

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

オーバーライド:
クラス Message 内の getSubject
戻り値:
件名
例外:
MessagingException -  
関連項目:
headers

setSubject

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

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

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

setSubject

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

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

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

getSentDate

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

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

オーバーライド:
クラス Message 内の getSentDate
戻り値:
送信された日付
例外:
MessagingException -  

setSentDate

public void setSentDate(java.util.Date d)
                 throws MessagingException
RFC 822「Date」ヘッダフィールドを設定します。これはメッセージの作成者がメッセージの完成と配信準備完了を示す日付です。この日付パラメータが null の場合は既存の「Date」フィールドが削除されます。
オーバーライド:
クラス Message 内の setSentDate
例外:
IllegalWriteException - 実装が変更をサポートしない場合
java.lang.IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException -  

getReceivedDate

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

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

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

isMimeType

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

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

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

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

getDisposition

public java.lang.String getDisposition()
                                throws MessagingException
「Content-Disposition」ヘッダフィールドの値を返します。これはこの部分の処置を表します。この部分がどのようにユーザに提示されるかを示します。

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

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

定義:
インタフェース Part 内の getDisposition
戻り値:
この部分の処置、または不明の場合は null
例外:
MessagingException -  

setDisposition

public void setDisposition(java.lang.String disposition)
                    throws MessagingException
この Message の「Content-Disposition」ヘッダフィールドを設定します。disposition が null の場合は、既存のすべての「Content-Disposition」ヘッダフィールドが削除されます。
定義:
インタフェース Part 内の setDisposition
例外:
IllegalWriteException - 実装が変更をサポートしない場合
java.lang.IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException -  

getEncoding

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

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

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

getContentID

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

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

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

setContentID

public void setContentID(java.lang.String cid)
                  throws MessagingException
この Message の「Content-ID」ヘッダフィールドを設定します。cid パラメータが null の場合は、既存のすべての「Content-ID」が削除されます。
例外:
IllegalWriteException - 実装が変更をサポートしない場合
java.lang.IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException -  

getContentMD5

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

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

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

setContentMD5

public void setContentMD5(java.lang.String md5)
                   throws MessagingException
このメッセージの「Content-MD5」ヘッダフィールドを設定します。
定義:
インタフェース MimePart 内の setContentMD5
例外:
IllegalWriteException - 実装が変更をサポートしない場合
java.lang.IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException -  

getDescription

public java.lang.String getDescription()
                                throws MessagingException
この Message の「Content-Description」ヘッダフィールドを返します。これは通常、説明的な情報をこの部分に関連付けます。このフィールドが使用できない場合、またはその値が存在しない場合は null を返します。

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

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

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

setDescription

public void setDescription(java.lang.String description)
                    throws MessagingException
この Message の「Content-Description」ヘッダフィールドを設定します。description パラメータが null の場合は、既存のすべての「Content-Description」フィールドが削除されます。

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

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

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

setDescription

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

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

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

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

getContentLanguage

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

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

定義:
インタフェース MimePart 内の getContentLanguage
戻り値:
コンテンツ言語ヘッダの値
例外:
MessagingException -  

setContentLanguage

public void setContentLanguage(java.lang.String[] languages)
                        throws MessagingException
この MimePart の「Content-Language」ヘッダを設定します。Content-Language ヘッダは RFC 1766 により定義されます。
定義:
インタフェース MimePart 内の setContentLanguage
パラメータ:
languages - 言語タグの配列
例外:
IllegalWriteException - 実装が変更をサポートしない場合
java.lang.IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException -  

getMessageID

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

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

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

getFileName

public java.lang.String getFileName()
                             throws MessagingException
この Message に関連付けられたファイル名を取得します。

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

定義:
インタフェース Part 内の getFileName
戻り値:
ファイル名
例外:
MessagingException -  

setFileName

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

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

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

getInputStream

public java.io.InputStream getInputStream()
                                   throws java.io.IOException,
                                          MessagingException
この Message の「content」に対するデコードされた入力ストリームを返します。

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

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

getContentStream

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

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

関連項目:
content

getRawInputStream

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

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

導入されたバージョン:
JavaMail 1.2
関連項目:
getInputStream(), getContentStream()

getDataHandler

public DataHandler getDataHandler()
                           throws MessagingException
この Message の内容の 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()); } .... }

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

getContent

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

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

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

setDataHandler

public void setDataHandler(DataHandler dh)
                    throws MessagingException
このメソッドはこの部分の内容を設定するための仕組みを提供します。指定された DataHandler オブジェクトは実際の内容をラップしなければなりません。
定義:
インタフェース Part 内の setDataHandler
パラメータ:
dh - コンテンツの DataHandler
例外:
IllegalWriteException - 実装が変更をサポートしない場合
java.lang.IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException -  

setContent

public void setContent(java.lang.Object o,
                       java.lang.String type)
                throws MessagingException
この Message の内容を設定するための簡易メソッドです。

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

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

setText

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

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

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

定義:
インタフェース MimePart 内の setText
関連項目:
setText(String text, String charset)

setText

public void setText(java.lang.String text,
                    java.lang.String charset)
             throws MessagingException
「text/plain」の MIME タイプおよび指定された文字セットを使用し、指定された String をこの部分のコンテンツとして設定する簡易メソッドです。指定された Unicode 文字列は、指定された文字セットを使用して文字セットエンコードされます。この文字セットは「charset」パラメータを設定するためにも使用されます。
定義:
インタフェース MimePart 内の setText

setContent

public void setContent(Multipart mp)
                throws MessagingException
このメソッドは Message の内容を Multipart オブジェクトに設定します。
定義:
インタフェース Part 内の setContent
パラメータ:
mp - Message のコンテンツである multipart オブジェクト
例外:
IllegalWriteException - 実装が既存値の変更をサポートしない場合
java.lang.IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException -  

reply

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

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

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

オーバーライド:
クラス Message 内の reply
パラメータ:
replyToAll - 返信はこのメッセージのすべての受信者に送信されなければならない
戻り値:
返信 Message
例外:
MessagingException -  

writeTo

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

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

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

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

writeTo

public void writeTo(java.io.OutputStream os,
                    java.lang.String[] ignoreList)
             throws java.io.IOException,
                    MessagingException
メッセージを RFC 822 形式ストリームとして、指定されたヘッダなしで出力します。saved フラグが設定されない場合は、saveChanges メソッドが呼び出されます。modified フラグが設定されず、content 配列が null でない場合は、適切なメッセージヘッダの書き込み後、content 配列が直接書き込まれます。
例外:
MessagingException -  
java.io.IOException - ストリームへの書き込み中にエラーが発生する場合、または javax.activation レイヤによりエラーが生成される場合
関連項目:
DataHandler.writeTo(java.io.OutputStream)

getHeader

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

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

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

getHeader

public java.lang.String getHeader(java.lang.String name,
                                  java.lang.String delimiter)
                           throws MessagingException
このヘッダ名のすべてのヘッダを取得し、区切り文字で区切られたヘッダが単一の String として返されます。delimiter が null の場合は、最初のヘッダだけが返されます。
定義:
インタフェース MimePart 内の getHeader
パラメータ:
header_name - このヘッダの名前
戻り値:
この名前を持つすべてのヘッダに対する値フィールド
例外:
MessagingException -  

setHeader

public void setHeader(java.lang.String name,
                      java.lang.String value)
               throws MessagingException
この header_name の値を設定します。既存のすべてのヘッダ値をこの新しい値で置き換えます。RFC 822 ヘッダは US-ASCII 文字のみを含まなければならないため、US-ASCII 以外の文字を含むヘッダは、呼び出し側により RFC 2047 の規則に従ってエンコードされなければならないことに注意してください。
定義:
インタフェース Part 内の setHeader
パラメータ:
name - ヘッダ名
value - ヘッダ値
例外:
IllegalWriteException - 実装が変更をサポートしない場合
java.lang.IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException -  
関連項目:
MimeUtility

addHeader

public void addHeader(java.lang.String name,
                      java.lang.String value)
               throws MessagingException
この値をこの header_name の既存値に追加します。RFC 822 ヘッダは US-ASCII 文字のみを含まなければならないため、US-ASCII 以外の文字を含むヘッダは RFC 2047 の規則に従ってエンコードされなければならないことに注意してください。
定義:
インタフェース Part 内の addHeader
パラメータ:
name - ヘッダ名
value - ヘッダ値
例外:
IllegalWriteException - 実装が変更をサポートしない場合
java.lang.IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException -  
関連項目:
MimeUtility

removeHeader

public void removeHeader(java.lang.String name)
                  throws MessagingException
この名前を持つすべてのヘッダを削除します。
定義:
インタフェース Part 内の removeHeader
例外:
IllegalWriteException - 実装が変更をサポートしない場合
java.lang.IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException -  

getAllHeaders

public java.util.Enumeration getAllHeaders()
                                    throws MessagingException
この Message のすべてのヘッダを Header オブジェクトの列挙として返します。

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

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

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

getMatchingHeaders

public java.util.Enumeration getMatchingHeaders(java.lang.String[] names)
                                         throws MessagingException
この Message から一致するヘッダを Header オブジェクトの Enumeration として返します。この実装は headers InternetHeaders オブジェクトからヘッダを取得します。
定義:
インタフェース Part 内の getMatchingHeaders
例外:
MessagingException -  

getNonMatchingHeaders

public java.util.Enumeration getNonMatchingHeaders(java.lang.String[] names)
                                            throws MessagingException
この Message から一致しないヘッダを Header オブジェクトの Enumeration として返します。この実装は headers InternetHeaders オブジェクトからヘッダを取得します。
定義:
インタフェース Part 内の getNonMatchingHeaders
例外:
MessagingException -  

addHeaderLine

public void addHeaderLine(java.lang.String line)
                   throws MessagingException
raw RFC 822 ヘッダ行を追加します。
定義:
インタフェース MimePart 内の addHeaderLine
例外:
IllegalWriteException - 実装が変更をサポートしない場合
java.lang.IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException -  

getAllHeaderLines

public java.util.Enumeration getAllHeaderLines()
                                        throws MessagingException
すべてのヘッダ行を String の Enumeration として取得します。Header 行は raw RFC 822 ヘッダ行であり、「name」および「value」の両フィールドを含みます。
定義:
インタフェース MimePart 内の getAllHeaderLines
例外:
MessagingException -  

getMatchingHeaderLines

public java.util.Enumeration getMatchingHeaderLines(java.lang.String[] names)
                                             throws MessagingException
一致するヘッダ行を String の Enumeration として取得します。Header 行は raw RFC 822 ヘッダ行であり、「name」および「value」の両フィールドを含みます。
定義:
インタフェース MimePart 内の getMatchingHeaderLines
例外:
MessagingException -  

getNonMatchingHeaderLines

public java.util.Enumeration getNonMatchingHeaderLines(java.lang.String[] names)
                                                throws MessagingException
一致しないヘッダ行を String の Enumeration として取得します。Header 行は raw RFC 822 ヘッダ行であり、「name」および「value」の両フィールドを含みます。
定義:
インタフェース MimePart 内の getNonMatchingHeaderLines
例外:
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
例外:
IllegalWriteException - 実装が変更をサポートしない場合
java.lang.IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException -  

saveChanges

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

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

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

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

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

updateHeaders

protected void updateHeaders()
                      throws MessagingException
saveChanges メソッドにより呼び出され、実際に MIME ヘッダを更新します。この実装は、Content-Transfer-Encoding ヘッダ (必要な場合ですでに設定されていない場合)、Mime-Version ヘッダ、および Message-ID ヘッダを設定します。また、このメッセージの内容が MimeMultipart の場合、updateHeaders メソッドが呼び出されます。
例外:
IllegalWriteException - 実装が変更をサポートしない場合
java.lang.IllegalStateException - このメッセージが READ_ONLY フォルダから取得された場合
MessagingException -  

createInternetHeaders

protected InternetHeaders createInternetHeaders(java.io.InputStream is)
                                         throws MessagingException
指定された InputStream からヘッダをロードする InternetHeaders オブジェクトを作成し、返します。必要であれば、サブクラスはこのメソッドをオーバーライドし、InternetHeaders のサブクラスを返すことができます。この実装は単に InternetHeaders オブジェクトを構築し、返します。
パラメータ:
is - ヘッダ読み込み元の InputStream
例外:
MessagingException -  
導入されたバージョン:
JavaMail 1.2


Copyright 2002 Sun Microsystems, Inc. All rights reserved.
使用には使用許諾契約が適用されます。