FileDocCategorySizeDatePackage
MimePart.javaAPI DocJavaMail 1.4.38917Tue Nov 17 10:38:12 GMT 2009javax.mail.internet

MimePart

public interface MimePart implements Part
The MimePart interface models an Entity as defined by MIME (RFC2045, Section 2.4).

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


A note on RFC822 and MIME headers

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.

see
MimeUtility
see
javax.mail.Part
author
John Mani

Fields Summary
Constructors Summary
Methods Summary
public voidaddHeaderLine(java.lang.String line)
Add a raw RFC822 header-line.

exception
IllegalWriteException if the underlying implementation does not support modification
exception
IllegalStateException if this Part is obtained from a READ_ONLY folder

public java.util.EnumerationgetAllHeaderLines()
Get all header lines as an Enumeration of Strings. A Header line is a raw RFC822 header-line, containing both the "name" and "value" field.

public java.lang.StringgetContentID()
Get the Content-ID of this part. Returns null if none present.

return
content-ID

public java.lang.String[]getContentLanguage()
Get the language tags specified in the Content-Language header of this MimePart. The Content-Language header is defined by RFC 1766. Returns null if this header is not available.

public java.lang.StringgetContentMD5()
Get the Content-MD5 digest of this part. Returns null if none present.

return
content-MD5

public java.lang.StringgetEncoding()
Get the transfer encoding of this part.

return
content-transfer-encoding
exception
MessagingException

public java.lang.StringgetHeader(java.lang.String name, java.lang.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. If the delimiter is null, only the first value is returned.

param
name the name of this header
param
delimiter delimiter between fields in returned string
return
the value fields for all headers with this name
exception
MessagingException

public java.util.EnumerationgetMatchingHeaderLines(java.lang.String[] names)
Get matching header lines as an Enumeration of Strings. A Header line is a raw RFC822 header-line, containing both the "name" and "value" field.

public java.util.EnumerationgetNonMatchingHeaderLines(java.lang.String[] names)
Get non-matching header lines as an Enumeration of Strings. A Header line is a raw RFC822 header-line, containing both the "name" and "value" field.

public voidsetContentLanguage(java.lang.String[] languages)
Set the Content-Language header of this MimePart. The Content-Language header is defined by RFC1766.

param
languages array of language tags
exception
IllegalWriteException if the underlying implementation does not support modification
exception
IllegalStateException if this Part is obtained from a READ_ONLY folder

public voidsetContentMD5(java.lang.String md5)
Set the Content-MD5 of this part.

param
md5 the MD5 value
exception
IllegalWriteException if the underlying implementation does not support modification
exception
IllegalStateException if this Part is obtained from a READ_ONLY folder

public voidsetText(java.lang.String text)
Convenience method that sets the given String as this part's content, with a MIME type of "text/plain". If the string contains non US-ASCII characters. it will be encoded using the platform's default charset. The charset is also used to set the "charset" parameter.

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.

param
text the text content to set
exception
MessagingException if an error occurs
see
#setText(String text, String charset)

public voidsetText(java.lang.String text, java.lang.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. The given Unicode string will be charset-encoded using the specified charset. The charset is also used to set "charset" parameter.

param
text the text content to set
param
charset the charset to use for the text
exception
MessagingException if an error occurs

public voidsetText(java.lang.String text, java.lang.String charset, java.lang.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. The given Unicode string will be charset-encoded using the specified charset. The charset is also used to set the "charset" parameter.

param
text the text content to set
param
charset the charset to use for the text
param
subtype the MIME subtype to use (e.g., "html")
exception
MessagingException if an error occurs
since
JavaMail 1.4