public final class MimeMailMessage extends MailMessage implements MimeRawSource, MimeCleanUp
MimeMailMessage
- A subclass of MailMessage
to support MIME messages (as per RFC822).COLOR_LABEL_NONE, COLOR_LABEL_PREFIX, COLOR_LABEL_PREFIX_OLD, FLAG_ANSWERED, FLAG_DELETED, FLAG_DRAFT, FLAG_FLAGGED, FLAG_FORWARDED, FLAG_READ_ACK, FLAG_RECENT, FLAG_SEEN, FLAG_SPAM, FLAG_USER, PRIORITY_HIGH, PRIORITY_HIGHEST, PRIORITY_LOW, PRIORITY_LOWEST, PRIORITY_NORMAL, USER_FORWARDED, USER_READ_ACK
NO_ENCLOSED_PARTS
Constructor and Description |
---|
MimeMailMessage()
Constructor - Constructs an empty mail message
|
MimeMailMessage(javax.mail.internet.MimeMessage msg)
Constructor - Only applies specified message, but does not set any attributes
|
Modifier and Type | Method and Description |
---|---|
void |
cleanUp()
Performs the clean-up on this MIME resources.
|
java.lang.Object |
getContent()
Returns the part's content as a Java object dependent on underlying implementation.
|
javax.activation.DataHandler |
getDataHandler()
Returns an appropriate
DataHandler for this mail part. |
int |
getEnclosedCount()
Gets the number of enclosed mail parts.
|
MailPart |
getEnclosedMailPart(int index)
Gets the mail part located at given index.
|
java.io.InputStream |
getInputStream()
Returns an input stream for this part.
|
java.lang.String |
getMailId()
Gets the implementation-specific unique ID of this mail in its mail folder.
|
javax.mail.internet.MimeMessage |
getMimeMessage()
Gets the
MIME message . |
javax.mail.Part |
getPart()
Gets the
part . |
java.io.InputStream |
getRawInputStream()
Gets an
InputStream to the raw data with any Content-Transfer-Encoding intact. |
char |
getSeparator()
Gets the separator.
|
int |
getSeqnum()
Gets the sequence number.
|
int |
getUnreadMessages()
Gets the number of unread messages
|
void |
loadContent()
Ensures that the part's content is loaded, thus this part is independent of the original.
|
void |
prepareForCaching()
Prepares this mail part to be put into cache; meaning to release all kept resources
|
void |
setContent(javax.mail.internet.MimeMessage msg)
Sets this mail message's content
Through providing a
null reference the body is cleared from this mail. |
void |
setMailId(java.lang.String id)
Sets the implementation-specific unique mail ID of this mail in its mail folder.
|
void |
setSeparator(char separator)
Sets the separator.
|
void |
setSeqnum(int seqnum)
Sets the sequence number.
|
void |
setUnreadMessages(int unreadMessages)
Sets the number of unread messages
|
java.lang.String |
toString() |
void |
writeTo(java.io.OutputStream out)
Writes complete part's data into given output stream
|
addBcc, addBcc, addCc, addCc, addFrom, addFrom, addTo, addTo, addUserFlag, addUserFlags, clone, containsAccountId, containsAccountName, containsAppendVCard, containsBcc, containsCc, containsColorLabel, containsDispositionNotification, containsFlags, containsFolder, containsFrom, containsHasAttachment, containsMessageId, containsPrevSeen, containsPriority, containsReceivedDate, containsRecentCount, containsReferences, containsSentDate, containsSubject, containsThreadLevel, containsTo, containsUserFlags, getAccountId, getAccountName, getBcc, getCc, getColorLabel, getColorLabelIntValue, getColorLabelStringValue, getDispositionNotification, getFlags, getFolder, getFrom, getInReplyTo, getMailPath, getMessageId, getPriority, getReceivedDate, getReceivedDateDirect, getRecentCount, getReferences, getSentDate, getSubject, getThreadLevel, getTo, getUserFlags, hasAttachment, isAnswered, isAppendVCard, isColorLabel, isDeleted, isDraft, isFlagged, isForwarded, isPrevSeen, isReadAcknowledgment, isRecent, isSeen, isSpam, isUser, parseColorLabel, removeAccountId, removeAccountName, removeAppendVCard, removeBcc, removeCc, removeColorLabel, removeDispositionNotification, removeFlags, removeFolder, removeFrom, removeHasAttachment, removeMessageId, removePrevSeen, removePriority, removeReceivedDate, removeRecentCount, removeReferences, removeSentDate, removeSubject, removeThreadLevel, removeTo, removeUserFlags, setAccountId, setAccountName, setAppendVCard, setColorLabel, setDispositionNotification, setFlag, setFlags, setFolder, setHasAttachment, setMessageId, setPrevSeen, setPriority, setReceivedDate, setRecentCount, setReferences, setReferences, setSentDate, setSubject, setThreadLevel
addHeader, addHeaders, containsContentDisposition, containsContentId, containsContentType, containsFileName, containsHeader, containsHeaders, containsMsgref, containsSequenceId, containsSize, getContentDisposition, getContentId, getContentType, getFileName, getFirstHeader, getHeader, getHeader, getHeader, getHeaders, getHeadersIterator, getHeadersSize, getMatchingHeaders, getMsgref, getNonMatchingHeaders, getSequenceId, getSize, getSource, getSourceBytes, hasEnclosedParts, hasHeaders, removeContentDisposition, removeContentId, removeContentType, removeFileName, removeHeader, removeHeaders, removeMsgref, removeSequenceId, removeSize, setContentDisposition, setContentDisposition, setContentId, setContentType, setContentType, setFileName, setHeader, setMsgref, setSequenceId, setSize
public MimeMailMessage()
public MimeMailMessage(javax.mail.internet.MimeMessage msg) throws com.openexchange.exception.OXException
com.openexchange.exception.OXException
- If setting message as content failspublic javax.mail.Part getPart()
MimeRawSource
part
.getPart
in interface MimeRawSource
part
or null
public char getSeparator()
public void setSeparator(char separator)
separator
- The separator to setpublic int getSeqnum()
public void setSeqnum(int seqnum)
seqnum
- The sequence number to setpublic void setContent(javax.mail.internet.MimeMessage msg) throws com.openexchange.exception.OXException
Through providing a null
reference the body is cleared from this mail.
msg
- The MIME message or null
to clear any body referencescom.openexchange.exception.OXException
- If setting message as content failspublic javax.mail.internet.MimeMessage getMimeMessage()
MIME message
.MIME message
or null
public void cleanUp()
MimeCleanUp
cleanUp
in interface MimeCleanUp
public java.lang.String getMailId()
MailMessage
getMailId
in class MailMessage
null
if not available.public void setMailId(java.lang.String id)
MailMessage
setMailId
in class MailMessage
id
- The mail ID or null
to indicate its absencepublic java.lang.Object getContent() throws com.openexchange.exception.OXException
MailPart
multipart/*
getContent
in class MailPart
null
if not applicablecom.openexchange.exception.OXException
- If content cannot be returned as a Java objectpublic javax.activation.DataHandler getDataHandler() throws com.openexchange.exception.OXException
MailPart
DataHandler
for this mail part. multipart/*
getDataHandler
in class MailPart
DataHandler
or null
if not applicablecom.openexchange.exception.OXException
- If an appropriate DataHandler
cannot be returnedpublic int getEnclosedCount() throws com.openexchange.exception.OXException
MailPart
multipart/*
getEnclosedCount
in class MailPart
MailPart.NO_ENCLOSED_PARTS
if not applicablecom.openexchange.exception.OXException
MailPart.NO_ENCLOSED_PARTS
public MailPart getEnclosedMailPart(int index) throws com.openexchange.exception.OXException
MailPart
multipart/*
getEnclosedMailPart
in class MailPart
index
- The index of desired mail part or null
if not applicablecom.openexchange.exception.OXException
public java.io.InputStream getRawInputStream() throws com.openexchange.exception.OXException
MimeRawSource
InputStream
to the raw data with any Content-Transfer-Encoding intact. This method is useful if the
"Content-Transfer-Encoding" header is incorrect or corrupt. In such a case the application may use this method and attempt to decode
the raw data itself.getRawInputStream
in interface MimeRawSource
com.openexchange.exception.OXException
- If an error occurspublic java.io.InputStream getInputStream() throws com.openexchange.exception.OXException
MailPart
multipart/*
getInputStream
in class MailPart
null
if not applicablecom.openexchange.exception.OXException
- If no input stream could be returnedpublic void writeTo(java.io.OutputStream out) throws com.openexchange.exception.OXException
MailPart
public void loadContent() throws com.openexchange.exception.OXException
MailPart
This method is intended for mailing systems that read the contents stepwise on demand. If dealing with such a mail part with its underlying connection closed, the part's content is no more accessible. Otherwise this method may be implemented with an empty body.
Moreover the loaded content is no more discarded when MailPart.prepareForCaching()
is invoked.
loadContent
in class MailPart
com.openexchange.exception.OXException
- If loading part's content failspublic void prepareForCaching()
MailPart
prepareForCaching
in class MailPart
public void setUnreadMessages(int unreadMessages)
MailMessage
setUnreadMessages
in class MailMessage
unreadMessages
- The number of unread messagespublic int getUnreadMessages()
MailMessage
getUnreadMessages
in class MailMessage
public java.lang.String toString()
toString
in class java.lang.Object