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_ACKNO_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, setThreadLeveladdHeader, 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, setSizepublic 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()
MimeRawSourcepart.getPart in interface MimeRawSourcepart or nullpublic 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 nullpublic void cleanUp()
MimeCleanUpcleanUp in interface MimeCleanUppublic java.lang.String getMailId()
MailMessagegetMailId in class MailMessagenull if not available.public void setMailId(java.lang.String id)
MailMessagesetMailId in class MailMessageid - The mail ID or null to indicate its absencepublic java.lang.Object getContent()
throws com.openexchange.exception.OXException
MailPartmultipart/*getContent in class MailPartnull if not applicablecom.openexchange.exception.OXException - If content cannot be returned as a Java objectpublic javax.activation.DataHandler getDataHandler()
throws com.openexchange.exception.OXException
MailPartDataHandler for this mail part. multipart/*getDataHandler in class MailPartDataHandler or null if not applicablecom.openexchange.exception.OXException - If an appropriate DataHandler cannot be returnedpublic int getEnclosedCount()
throws com.openexchange.exception.OXException
MailPartmultipart/*getEnclosedCount in class MailPartMailPart.NO_ENCLOSED_PARTS if not applicablecom.openexchange.exception.OXExceptionMailPart.NO_ENCLOSED_PARTSpublic MailPart getEnclosedMailPart(int index) throws com.openexchange.exception.OXException
MailPartmultipart/*getEnclosedMailPart in class MailPartindex - The index of desired mail part or null if not applicablecom.openexchange.exception.OXExceptionpublic java.io.InputStream getRawInputStream()
throws com.openexchange.exception.OXException
MimeRawSourceInputStream 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 MimeRawSourcecom.openexchange.exception.OXException - If an error occurspublic java.io.InputStream getInputStream()
throws com.openexchange.exception.OXException
MailPartmultipart/*getInputStream in class MailPartnull if not applicablecom.openexchange.exception.OXException - If no input stream could be returnedpublic void writeTo(java.io.OutputStream out)
throws com.openexchange.exception.OXException
MailPartpublic void loadContent()
throws com.openexchange.exception.OXException
MailPartThis 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 MailPartcom.openexchange.exception.OXException - If loading part's content failspublic void prepareForCaching()
MailPartprepareForCaching in class MailPartpublic void setUnreadMessages(int unreadMessages)
MailMessagesetUnreadMessages in class MailMessageunreadMessages - The number of unread messagespublic int getUnreadMessages()
MailMessagegetUnreadMessages in class MailMessagepublic java.lang.String toString()
toString in class java.lang.Object