Movatterモバイル変換


[0]ホーム

URL:


         


Class Message

java.lang.Object  |  +--javax.mail.Message
All Implemented Interfaces:
Part
Direct Known Subclasses:
MimeMessage

public abstract classMessage
extends java.lang.Object
implementsPart

This class models an email message. This is an abstract class. Subclasses provide actual implementations.

Message implements the Part interface. Message contains a set of attributes and a "content". Messages within a folder also have a set of flags that describe its state within the folder.

Message defines some new attributes in addition to those defined in thePart interface. These attributes specify meta-data for the message - i.e., addressing and descriptive information about the message.

Message objects are obtained either from a Folder or by constructing a new Message object of the appropriate subclass. Messages that have been received are normally retrieved from a folder named "INBOX".

A Message object obtained from a folder is just a lightweight reference to the actual message. The Message is 'lazily' filled up (on demand) when each item is requested from the message. Note that certain folder implementations may return Message objects that are pre-filled with certain user-specified items. To send a message, an appropriate subclass of Message (e.g., MimeMessage) is instantiated, the attributes and content are filled in, and the message is sent using theTransport.send method.

See Also:
Part

Message.RecipientType
          This inner class defines the types of recipients allowed by the Message class.
 
expunged
          True if this message has been expunged.
folder
          The containing folder, if this message is obtained from a folder
msgnum
          The number of this message within its folder, or zero if the message was not retrieved from a folder.
session
          The Session object for this Message
 
Fields inherited from interface javax.mail.Part
ATTACHMENT,INLINE
 
Message()
          No-arg version of the constructor.
Message(Folder folder, int msgnum)
          Constructor that takes a Folder and a message number.
Message(Session session)
          Constructor that takes a Session.
 
addFrom(Address[] addresses)
          Add these addresses to the existing "From" attribute
addRecipient(Message.RecipientType type,Address address)
          Add this recipient address to the existing ones of the given type.
addRecipients(Message.RecipientType type,Address[] addresses)
          Add these recipient addresses to the existing ones of the given type.
getAllRecipients()
          Get all the recipient addresses for the message.
getFlags()
          Returns aFlags object containing the flags for this message.
getFolder()
          Get the folder from which this message was obtained.
getFrom()
          Returns the "From" attribute.
getMessageNumber()
          Get the Message number for this Message.
getReceivedDate()
          Get the date this message was received.
getRecipients(Message.RecipientType type)
          Get all the recipient addresses of the given type.
getReplyTo()
          Get the addresses to which replies should be directed.
getSentDate()
          Get the date this message was sent.
getSubject()
          Get the subject of this message.
isExpunged()
          Checks whether this message is expunged.
isSet(Flags.Flag flag)
          Check whether the flag specified in theflag argument is set in this message.
match(SearchTerm term)
          Apply the specified Search criterion to this message.
reply(boolean replyToAll)
          Get a new Message suitable for a reply to this message.
saveChanges()
          Save any changes made to this message into the message-store when the containing folder is closed, if the message is contained in a folder.
setExpunged(boolean expunged)
          Sets the expunged flag for this Message.
setFlag(Flags.Flag flag, boolean set)
          Set the specified flag on this message to the specified value.
setFlags(Flags flag, boolean set)
          Set the specified flags on this message to the specified value.
setFrom()
          Set the "From" attribute in this Message.
setFrom(Address address)
          Set the "From" attribute in this Message.
setMessageNumber(int msgnum)
          Set the Message number for this Message.
setRecipient(Message.RecipientType type,Address address)
          Set the recipient address.
setRecipients(Message.RecipientType type,Address[] addresses)
          Set the recipient addresses.
setReplyTo(Address[] addresses)
          Set the addresses to which replies should be directed.
setSentDate(java.util.Date date)
          Set the sent date of this message.
setSubject(java.lang.String subject)
          Set the subject of this message.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.mail.Part
addHeader,getAllHeaders,getContent,getContentType,getDataHandler,getDescription,getDisposition,getFileName,getHeader,getInputStream,getLineCount,getMatchingHeaders,getNonMatchingHeaders,getSize,isMimeType,removeHeader,setContent,setContent,setDataHandler,setDescription,setDisposition,setFileName,setHeader,setText,writeTo
 

msgnum

protected intmsgnum
The number of this message within its folder, or zero if the message was not retrieved from a folder.

expunged

protected booleanexpunged
True if this message has been expunged.

folder

protectedFolderfolder
The containing folder, if this message is obtained from a folder

session

protectedSessionsession
The Session object for this Message

Message

protectedMessage()
No-arg version of the constructor.

Message

protectedMessage(Folder folder,                  int msgnum)
Constructor that takes a Folder and a message number. Used by Folder implementations.
Parameters:
folder - containing folder
msgnum - this message's sequence number within this folder

Message

protectedMessage(Session session)
Constructor that takes a Session. Used for client created Message objects.
Parameters:
session - A Session object

getFrom

public abstractAddress[]getFrom()                           throwsMessagingException
Returns the "From" attribute. The "From" attribute contains the identity of the person(s) who wished this message to be sent.

In certain implementations, this may be different from the entity that actually sent the message.

This method returnsnull if this attribute is not present in this message. Returns an empty array if this attribute is present, but contains no addresses.

Returns:
array of Address objects
Throws:
MessagingException -  

setFrom

public abstract voidsetFrom()                      throwsMessagingException
Set the "From" attribute in this Message. The value of this attribute is obtained from the property "mail.user". If this property is absent, the system property "user.name" is used.
Throws:
MessagingException -  
IllegalWriteException - if the underlying implementation does not support modification of existing values
java.lang.IllegalStateException - if this message isobtained from a READ_ONLY folder.

setFrom

public abstract voidsetFrom(Address address)                      throwsMessagingException
Set the "From" attribute in this Message.
Parameters:
address - the sender
Throws:
MessagingException -  
IllegalWriteException - if the underlying implementation does not support modification of existing values
java.lang.IllegalStateException - if this message isobtained from a READ_ONLY folder.

addFrom

public abstract voidaddFrom(Address[] addresses)                      throwsMessagingException
Add these addresses to the existing "From" attribute
Parameters:
address - the sender
Throws:
IllegalWriteException - if the underlying implementation does not support modification of existing values
java.lang.IllegalStateException - if this message isobtained from a READ_ONLY folder.
MessagingException -  

getRecipients

public abstractAddress[]getRecipients(Message.RecipientType type)                                 throwsMessagingException
Get all the recipient addresses of the given type.

This method returnsnull if the header for the given type is not present in this message. Returns an empty array if the header is present, but contains no addresses.

Parameters:
type - the recipient type
Returns:
array of Address objects
Throws:
MessagingException -  
See Also:
Message.RecipientType.TO,Message.RecipientType.CC,Message.RecipientType.BCC

getAllRecipients

publicAddress[]getAllRecipients()                           throwsMessagingException
Get all the recipient addresses for the message. The default implementation extracts the TO, CC, and BCC recipients using thegetRecipients method.
Returns:
array of Address objects
Throws:
MessagingException -  
See Also:
Message.RecipientType.TO,Message.RecipientType.CC,Message.RecipientType.BCC,getRecipients(javax.mail.Message.RecipientType)

setRecipients

public abstract voidsetRecipients(Message.RecipientType type,Address[] addresses)                            throwsMessagingException
Set the recipient addresses. All addresses of the specified type are replaced by the addresses parameter.
Parameters:
type - the recipient type
addresses - the addresses
Throws:
MessagingException -  
IllegalWriteException - if the underlying implementation does not support modification of existing values
java.lang.IllegalStateException - if this message isobtained from a READ_ONLY folder.

setRecipient

public voidsetRecipient(Message.RecipientType type,Address address)                  throwsMessagingException
Set the recipient address. All addresses of the specified type are replaced by the address parameter.

The default implementation uses thesetRecipients method.

Parameters:
type - the recipient type
address - the address
Throws:
MessagingException -  
IllegalWriteException - if the underlying implementation does not support modification of existing values

addRecipients

public abstract voidaddRecipients(Message.RecipientType type,Address[] addresses)                            throwsMessagingException
Add these recipient addresses to the existing ones of the given type.
Parameters:
type - the recipient type
addresses - the addresses
Throws:
MessagingException -  
IllegalWriteException - if the underlying implementation does not support modification of existing values
java.lang.IllegalStateException - if this message isobtained from a READ_ONLY folder.

addRecipient

public voidaddRecipient(Message.RecipientType type,Address address)                  throwsMessagingException
Add this recipient address to the existing ones of the given type.

The default implementation uses theaddRecipients method.

Parameters:
type - the recipient type
address - the address
Throws:
MessagingException -  
IllegalWriteException - if the underlying implementation does not support modification of existing values

getReplyTo

publicAddress[]getReplyTo()                     throwsMessagingException
Get the addresses to which replies should be directed. This will usually be the sender of the message, but some messages may direct replies to a different address.

The default implementation simply calls thegetFrom method.

This method returnsnull if the corresponding header is not present. Returns an empty array if the header is present, but contains no addresses.

Returns:
addresses to which replies should be directed
Throws:
MessagingException -  
See Also:
getFrom()

setReplyTo

public voidsetReplyTo(Address[] addresses)                throwsMessagingException
Set the addresses to which replies should be directed. (Normally only a single address will be specified.) Not all message types allow this to be specified separately from the sender of the message.

The default implementation provided here just throws the MethodNotSupportedException.

Parameters:
addresses - addresses to which replies should be directed
Throws:
MessagingException -  
IllegalWriteException - if the underlying implementation does not support modification of existing values
java.lang.IllegalStateException - if this message isobtained from a READ_ONLY folder.
MethodNotSupportedException - if the underlying implementation does not support setting thisattribute

getSubject

public abstract java.lang.StringgetSubject()                                     throwsMessagingException
Get the subject of this message.
Returns:
the subject
Throws:
MessagingException -  

setSubject

public abstract voidsetSubject(java.lang.String subject)                         throwsMessagingException
Set the subject of this message.
Parameters:
subject - the subject
Throws:
MessagingException -  
IllegalWriteException - if the underlying implementation does not support modification of existing values
java.lang.IllegalStateException - if this message isobtained from a READ_ONLY folder.

getSentDate

public abstract java.util.DategetSentDate()                                    throwsMessagingException
Get the date this message was sent.
Returns:
the date this message was sent
Throws:
MessagingException -  

setSentDate

public abstract voidsetSentDate(java.util.Date date)                          throwsMessagingException
Set the sent date of this message.
Parameters:
date - the sent date of this message
Throws:
MessagingException -  
IllegalWriteException - if the underlying implementation does not support modification of existing values
java.lang.IllegalStateException - if this message isobtained from a READ_ONLY folder.

getReceivedDate

public abstract java.util.DategetReceivedDate()                                        throwsMessagingException
Get the date this message was received.
Returns:
the date this message was received
Throws:
MessagingException -  

getFlags

public abstractFlagsgetFlags()                        throwsMessagingException
Returns aFlags object containing the flags for this message.

Modifying any of the flags in this returned Flags object will not affect the flags of this message. UsesetFlags() to do that.

Returns:
Flags object containing the flags for this message
Throws:
MessagingException -  
See Also:
Flags,setFlags(javax.mail.Flags, boolean)

isSet

public booleanisSet(Flags.Flag flag)              throwsMessagingException
Check whether the flag specified in theflag argument is set in this message.

The default implementation usesgetFlags.

Parameters:
flag - the flag
Returns:
value of the specified flag for this message
Throws:
MessagingException -  
See Also:
Flags.Flag,Flags.Flag.ANSWERED,Flags.Flag.DELETED,Flags.Flag.DRAFT,Flags.Flag.FLAGGED,Flags.Flag.RECENT,Flags.Flag.SEEN

setFlags

public abstract voidsetFlags(Flags flag,                              boolean set)                       throwsMessagingException
Set the specified flags on this message to the specified value. Note that any flags in this message that are not specified in the givenFlags object are unaffected.

This will result in aMessageChangedEvent being delivered to any MessageChangedListener registered on this Message's containing folder.

Parameters:
flag - Flags object containing the flags to be set
set - the value to be set
Throws:
MessagingException -  
IllegalWriteException - if the underlying implementation does not support modification of existing values.
java.lang.IllegalStateException - if this message isobtained from a READ_ONLY folder.
See Also:
MessageChangedEvent

setFlag

public voidsetFlag(Flags.Flag flag,                    boolean set)             throwsMessagingException
Set the specified flag on this message to the specified value. This will result in aMessageChangedEvent being delivered to any MessageChangedListener registered on this Message's containing folder.

The default implementation uses thesetFlags method.

Parameters:
flag - Flags.Flag object containing the flag to be set
set - the value to be set
Throws:
MessagingException -  
IllegalWriteException - if the underlying implementation does not support modification of existing values.
java.lang.IllegalStateException - if this message isobtained from a READ_ONLY folder.
See Also:
MessageChangedEvent

getMessageNumber

public intgetMessageNumber()
Get the Message number for this Message. A Message object's message number is the relative position of this Message in its Folder. Note that the message number for a particular Message can change during a session if other messages in the Folder are deleted and expunged.

Valid message numbers start at 1. Messages that do not belong to any folder (like newly composed or derived messages) have 0 as their message number.

Returns:
the message number

setMessageNumber

protected voidsetMessageNumber(int msgnum)
Set the Message number for this Message. This method is invoked only by the implementation classes.

getFolder

publicFoldergetFolder()
Get the folder from which this message was obtained. If this is a new message or nested message, this method returns null.
Returns:
the containing folder

isExpunged

public booleanisExpunged()
Checks whether this message is expunged. All other methods exceptgetMessageNumber() are invalid on an expunged Message object.

Messages that are expunged due to an explictexpunge() request on the containing Folder are removed from the Folder immediately. Messages that are externally expunged by another source are marked "expunged" and return true for the isExpunged() method, but they are not removed from the Folder until an explicitexpunge() is done on the Folder.

See the description ofexpunge() for more details on expunge handling.

See Also:
Folder.expunge()

setExpunged

protected voidsetExpunged(boolean expunged)
Sets the expunged flag for this Message. This method is to be used only by the implementation classes.
Parameters:
expunged - the expunged flag

reply

public abstractMessagereply(boolean replyToAll)                       throwsMessagingException
Get a new Message suitable for a reply to this message. The new Message will have its attributes and headers set up appropriately. Note that this new message object will be empty, that is, it willnot have a "content". These will have to be suitably filled in by the client.

IfreplyToAll is set, the new Message will be addressed to all recipients of this message. Otherwise, the reply will be addressed to only the sender of this message (using the value of thegetReplyTo method).

The "Subject" field is filled in with the original subject prefixed with "Re:" (unless it already starts with "Re:").

The reply message will use the same session as this message.

Parameters:
replyToAll - reply should be sent to all recipientsof this message
Returns:
the reply Message
Throws:
MessagingException -  

saveChanges

public abstract voidsaveChanges()                          throwsMessagingException
Save any changes made to this message into the message-store when the containing folder is closed, if the message is contained in a folder. (Some implementations may save the changes immediately.) Update any header fields to be consistent with the changed message contents. If any part of a message's headers or contents are changed, saveChanges must be called to ensure that those changes are permanent. If saveChanges is not called, any such modifications may or may not be saved, depending on the message store and folder implementation.

Messages obtained from folders opened READ_ONLY should not be modified and saveChanges should not be called on such messages.

Throws:
MessagingException -  
java.lang.IllegalStateException - if this message isobtained from a READ_ONLY folder.
IllegalWriteException - if the underlying implementation does not support modification of existing values.

match

public booleanmatch(SearchTerm term)              throwsMessagingException
Apply the specified Search criterion to this message.
Parameters:
term - the Search criterion
Returns:
true if the Message matches this searchcriterion, false otherwise.
Throws:
MessagingException -  
See Also:
SearchTerm

         


[8]ページ先頭

©2009-2025 Movatter.jp