## javax.mail.internet
Interface MimePart

All Superinterfaces:
  Part

All Known Implementing Classes:
  MessageHeaders, MimeBodyPart, MimeMessage, POP3Message, PreencodedMimeBodyPart, SMTPMessage

    public interface MimePart

extends 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 Also:
  `MimeUtility`, `Part`

Field Summary

Fields inherited from interface javax.mail.Part
`ATTACHMENT, INLINE`

Method Summary
`void` `addHeaderLine(java.lang.String line)` Add a raw RFC822 header-line.
`java.util.Enumeration` `getAllHeaderLines()` Get all header lines as an Enumeration of Strings.
`java.lang.String` `getContentID()` Get the Content-ID of this part.
`java.lang.String[]` `getContentLanguage()` Get the language tags specified in the Content-Language header of this MimePart.
`java.lang.String` `getContentMD5()` Get the Content-MD5 digest of this part.
`java.lang.String` `getEncoding()` Get the transfer encoding of this part.
`java.lang.String` `getHeader(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.
`java.util.Enumeration` `getMatchingHeaderLines(java.lang.String[] names)` Get matching header lines as an Enumeration of Strings.
`java.util.Enumeration` `getNonMatchingHeaderLines(java.lang.String[] names)` Get non-matching header lines as an Enumeration of Strings.
`void` `setContentLanguage(java.lang.String[] languages)` Set the Content-Language header of this MimePart.
`void` `setContentMD5(java.lang.String md5)` Set the Content-MD5 of this part.
`void` `setText(java.lang.String text)` Convenience method that sets the given String as this part's content, with a MIME type of "text/plain".
`void` `setText(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.
`void` `setText(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.

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, writeTo`

Method Detail

### getHeader

    java.lang.String getHeader(java.lang.String name,
                               java.lang.String delimiter)
                               throws MessagingException

  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.

  Parameters:
    `name` - the name of this header
    `delimiter` - delimiter between fields in returned string
  Returns:
    the value fields for all headers with this name
  Throws:
    `MessagingException`

### addHeaderLine

    void addHeaderLine(java.lang.String line)
                       throws MessagingException

  Add a raw RFC822 header-line.

  Throws:
    `IllegalWriteException` - if the underlying implementation does not support modification
    `java.lang.IllegalStateException` - if this Part is obtained from a READ_ONLY folder
    `MessagingException`

### getAllHeaderLines

    java.util.Enumeration getAllHeaderLines()
                                            throws MessagingException

  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.

  Throws:
    `MessagingException`

### getMatchingHeaderLines

    java.util.Enumeration getMatchingHeaderLines(java.lang.String[] names)
                                                 throws MessagingException

  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.

  Throws:
    `MessagingException`

### getNonMatchingHeaderLines

    java.util.Enumeration getNonMatchingHeaderLines(java.lang.String[] names)
                                                    throws MessagingException

  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.

  Throws:
    `MessagingException`

### getEncoding

    java.lang.String getEncoding()
                                 throws MessagingException

  Get the transfer encoding of this part.

  Returns:
    content-transfer-encoding
  Throws:
    `MessagingException`

### getContentID

    java.lang.String getContentID()
                                  throws MessagingException

  Get the Content-ID of this part. Returns null if none present.

  Returns:
    content-ID
  Throws:
    `MessagingException`

### getContentMD5

    java.lang.String getContentMD5()
                                   throws MessagingException

  Get the Content-MD5 digest of this part. Returns null if none present.

  Returns:
    content-MD5
  Throws:
    `MessagingException`

### setContentMD5

    void setContentMD5(java.lang.String md5)
                       throws MessagingException

  Set the Content-MD5 of this part.

  Parameters:
    `md5` - the MD5 value
  Throws:
    `IllegalWriteException` - if the underlying implementation does not support modification
    `java.lang.IllegalStateException` - if this Part is obtained from a READ_ONLY folder
    `MessagingException`

### getContentLanguage

    java.lang.String[] getContentLanguage()
                                          throws MessagingException

  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.

  Throws:
    `MessagingException`

### setContentLanguage

    void setContentLanguage(java.lang.String[] languages)
                            throws MessagingException

  Set the Content-Language header of this MimePart. The Content-Language header is defined by RFC1766.

  Parameters:
    `languages` - array of language tags
  Throws:
    `IllegalWriteException` - if the underlying implementation does not support modification
    `java.lang.IllegalStateException` - if this Part is obtained from a READ_ONLY folder
    `MessagingException`

### setText

    void setText(java.lang.String text)
                 throws MessagingException

  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.

  Specified by:
    `setText` in interface `Part`
  Parameters:
    `text` - the text content to set
  Throws:
    `MessagingException` - if an error occurs
  See Also:
    `setText(String text, String charset)`

### setText

    void setText(java.lang.String text,
                 java.lang.String charset)
                 throws MessagingException

  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.

  Parameters:
    `text` - the text content to set
    `charset` - the charset to use for the text
  Throws:
    `MessagingException` - if an error occurs

### setText

    void setText(java.lang.String text,
                 java.lang.String charset,
                 java.lang.String subtype)
                 throws MessagingException

  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.

  Parameters:
    `text` - the text content to set
    `charset` - the charset to use for the text
    `subtype` - the MIME subtype to use (e.g., "html")
  Throws:
    `MessagingException` - if an error occurs
  Since:
    JavaMail 1.4