public interface MimePart extends Part
MimePart extends the Part interface to add additional RFC822 and MIME specific semantics and attributes. It provides the base interface for the MimeMessage and MimeBodyPart classes
RFC822 and MIME header fields must contain only
US-ASCII characters. If a header contains non US-ASCII characters,
it must be encoded as per the rules in RFC 2047. The MimeUtility
class provided in this package can be used to to achieve this.
Callers of the setHeader
, addHeader
, and
addHeaderLine
methods are responsible for enforcing
the MIME requirements for the specified headers. In addition, these
header fields must be folded (wrapped) before being sent if they
exceed the line length limitation for the transport (1000 bytes for
SMTP). Received headers may have been folded. The application is
responsible for folding and unfolding headers as appropriate.
MimeUtility
,
Part
ATTACHMENT, INLINE
Modifier and Type | Method and Description |
---|---|
void |
addHeaderLine(String line)
Add a raw RFC822 header-line.
|
Enumeration<String> |
getAllHeaderLines()
Get all header lines as an Enumeration of Strings.
|
String |
getContentID()
Get the Content-ID of this part.
|
String[] |
getContentLanguage()
Get the language tags specified in the Content-Language header
of this MimePart.
|
String |
getContentMD5()
Get the Content-MD5 digest of this part.
|
String |
getEncoding()
Get the transfer encoding of this part.
|
String |
getHeader(String name,
String delimiter)
Get the values of all header fields available for this header,
returned as a single String, with the values separated by the
delimiter.
|
Enumeration<String> |
getMatchingHeaderLines(String[] names)
Get matching header lines as an Enumeration of Strings.
|
Enumeration<String> |
getNonMatchingHeaderLines(String[] names)
Get non-matching header lines as an Enumeration of Strings.
|
void |
setContentLanguage(String[] languages)
Set the Content-Language header of this MimePart.
|
void |
setContentMD5(String md5)
Set the Content-MD5 of this part.
|
void |
setText(String text)
Convenience method that sets the given String as this
part's content, with a MIME type of "text/plain".
|
void |
setText(String text,
String charset)
Convenience method that sets the given String as this part's
content, with a MIME type of "text/plain" and the specified
charset.
|
void |
setText(String text,
String charset,
String subtype)
Convenience method that sets the given String as this part's
content, with a primary MIME type of "text" and the specified
MIME subtype.
|
addHeader, getAllHeaders, getContent, getContentType, getDataHandler, getDescription, getDisposition, getFileName, getHeader, getInputStream, getLineCount, getMatchingHeaders, getNonMatchingHeaders, getSize, isMimeType, removeHeader, setContent, setContent, setDataHandler, setDescription, setDisposition, setFileName, setHeader, writeTo
String getHeader(String name, String delimiter) throws MessagingException
null
, only the
first value is returned.name
- the name of this headerdelimiter
- delimiter between fields in returned stringMessagingException
- for failuresvoid addHeaderLine(String line) throws MessagingException
line
- the line to addIllegalWriteException
- if the underlying
implementation does not support modificationIllegalStateException
- if this Part is
obtained from a READ_ONLY folderMessagingException
- for other failuresEnumeration<String> getAllHeaderLines() throws MessagingException
MessagingException
- for failuresEnumeration<String> getMatchingHeaderLines(String[] names) throws MessagingException
names
- the headers to returnMessagingException
- for failuresEnumeration<String> getNonMatchingHeaderLines(String[] names) throws MessagingException
names
- the headers to not returnMessagingException
- for failuresString getEncoding() throws MessagingException
MessagingException
- for failuresString getContentID() throws MessagingException
MessagingException
- for failuresString getContentMD5() throws MessagingException
MessagingException
- for failuresvoid setContentMD5(String md5) throws MessagingException
md5
- the MD5 valueIllegalWriteException
- if the underlying
implementation does not support modificationIllegalStateException
- if this Part is
obtained from a READ_ONLY folderMessagingException
String[] getContentLanguage() throws MessagingException
null
if this header is not
available.MessagingException
- for failuresvoid setContentLanguage(String[] languages) throws MessagingException
languages
- array of language tagsIllegalWriteException
- if the underlying
implementation does not support modificationIllegalStateException
- if this Part is
obtained from a READ_ONLY folderMessagingException
void setText(String text) throws MessagingException
Note that there may be a performance penalty if
text
is large, since this method may have
to scan all the characters to determine what charset to
use.
If the charset is already known, use the
setText
method that takes the charset parameter.
setText
in interface Part
text
- the text content to setMessagingException
- if an error occurssetText(String text, String charset)
void setText(String text, String charset) throws MessagingException
text
- the text content to setcharset
- the charset to use for the textMessagingException
- if an error occursvoid setText(String text, String charset, String subtype) throws MessagingException
text
- the text content to setcharset
- the charset to use for the textsubtype
- the MIME subtype to use (e.g., "html")MessagingException
- if an error occursCopyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.