Interface | Description |
---|---|
MimePart |
The MimePart interface models an Entity as defined
by MIME (RFC2045, Section 2.4).
|
SharedInputStream |
An InputStream that is backed by data that can be shared by multiple
readers may implement this interface.
|
Class | Description |
---|---|
ContentDisposition |
This class represents a MIME ContentDisposition value.
|
ContentType |
This class represents a MIME Content-Type value.
|
HeaderTokenizer |
This class tokenizes RFC822 and MIME headers into the basic
symbols specified by RFC822 and MIME.
|
HeaderTokenizer.Token |
The Token class represents tokens returned by the
HeaderTokenizer.
|
InternetAddress |
This class represents an Internet email address using the syntax
of RFC822.
|
InternetHeaders |
InternetHeaders is a utility class that manages RFC822 style
headers.
|
InternetHeaders.InternetHeader |
An individual internet header.
|
MailDateFormat |
Formats and parses date specification based on
RFC 2822.
|
MimeBodyPart |
This class represents a MIME body part.
|
MimeMessage |
This class represents a MIME style email message.
|
MimeMessage.RecipientType |
This inner class extends the javax.mail.Message.RecipientType
class to add additional RecipientTypes.
|
MimeMultipart |
The MimeMultipart class is an implementation of the abstract Multipart
class that uses MIME conventions for the multipart data.
|
MimePartDataSource |
A utility class that implements a DataSource out of
a MimePart.
|
MimeUtility |
This is a utility class that provides various MIME related
functionality.
|
NewsAddress |
This class models an RFC1036 newsgroup address.
|
ParameterList |
This class holds MIME parameters (attribute-value pairs).
|
PreencodedMimeBodyPart |
A MimeBodyPart that handles data that has already been encoded.
|
Exception | Description |
---|---|
AddressException |
The exception thrown when a wrongly formatted address is encountered.
|
ParseException |
The exception thrown due to an error in parsing RFC822
or MIME headers
|
MimeMessages
.
Properties
The JavaMail API supports the following standard properties,
which may be set in the Session
object, or in the
Properties
object used to create the Session
object.
The properties are always set as strings; the Type column describes
how the string is interpreted. For example, use
session.setProperty("mail.mime.address.strict", "false");to set the
mail.mime.address.strict
property,
which is of type boolean.
The JavaMail API specification requires support for the following properties,
which must be set in the System
properties.
The properties are always set as strings; the Type column describes
how the string is interpreted. For example, use
System.setProperty("mail.mime.decodetext.strict", "false");to set the
mail.mime.decodetext.strict
property,
which is of type boolean.
Name | Type | Description |
---|---|---|
mail.mime.charset | String |
The mail.mime.charset System property can
be used to specify the default MIME charset to use for encoded words
and text parts that don't otherwise specify a charset. Normally, the
default MIME charset is derived from the default Java charset, as
specified in the file.encoding System property. Most
applications will have no need to explicitly set the default MIME
charset. In cases where the default MIME charset to be used for
mail messages is different than the charset used for files stored on
the system, this property should be set.
|
mail.mime.decodetext.strict | boolean |
The mail.mime.decodetext.strict property controls
decoding of MIME encoded words. The MIME spec requires that encoded
words start at the beginning of a whitespace separated word. Some
mailers incorrectly include encoded words in the middle of a word.
If the mail.mime.decodetext.strict System property is
set to "false" , an attempt will be made to decode these
illegal encoded words. The default is true.
|
mail.mime.encodeeol.strict | boolean |
The mail.mime.encodeeol.strict property controls the
choice of Content-Transfer-Encoding for MIME parts that are not of
type "text". Often such parts will contain textual data for which
an encoding that allows normal end of line conventions is appropriate.
In rare cases, such a part will appear to contain entirely textual
data, but will require an encoding that preserves CR and LF characters
without change. If the mail.mime.encodeeol.strict
System property is set to "true" , such an encoding will
be used when necessary. The default is false.
|
mail.mime.decodefilename | boolean |
If set to "true" , the getFileName method
uses the MimeUtility
method decodeText to decode any
non-ASCII characters in the filename. Note that this decoding
violates the MIME specification, but is useful for interoperating
with some mail clients that use this convention.
The default is false.
|
mail.mime.encodefilename | boolean |
If set to "true" , the setFileName method
uses the MimeUtility
method encodeText to encode any
non-ASCII characters in the filename. Note that this encoding
violates the MIME specification, but is useful for interoperating
with some mail clients that use this convention.
The default is false.
|
mail.mime.decodeparameters | boolean |
If set to "false" , non-ASCII parameters in a
ParameterList , e.g., in a Content-Type header,
will not be decoded as specified by
RFC 2231.
The default is true.
|
mail.mime.encodeparameters | boolean |
If set to "false" , non-ASCII parameters in a
ParameterList , e.g., in a Content-Type header,
will not be encoded as specified by
RFC 2231.
The default is true.
|
mail.mime.multipart. ignoremissingendboundary | boolean |
Normally, when parsing a multipart MIME message, a message that is
missing the final end boundary line is not considered an error.
The data simply ends at the end of the input. Note that messages
of this form violate the MIME specification. If the property
mail.mime.multipart.ignoremissingendboundary is set
to false , such messages are considered an error and a
MesagingException will be thrown when parsing such a
message.
|
mail.mime.multipart. ignoremissingboundaryparameter | boolean |
If the Content-Type header for a multipart content does not have
a boundary parameter, the multipart parsing code
will look for the first line in the content that looks like a
boundary line and extract the boundary parameter from the line.
If this property is set to "false" , a
MessagingException will be thrown if the Content-Type
header doesn't specify a boundary parameter.
The default is true.
|
mail.mime.multipart. ignoreexistingboundaryparameter | boolean |
Normally the boundary parameter in the Content-Type header of a multipart
body part is used to specify the separator between parts of the multipart
body. This System property may be set to "true" to cause
the parser to look for a line in the multipart body that looks like a
boundary line and use that value as the separator between subsequent parts.
This may be useful in cases where a broken anti-virus product has rewritten
the message incorrectly such that the boundary parameter and the actual
boundary value no longer match.
The default value of this property is false.
|
mail.mime.multipart. allowempty | boolean |
Normally, when writing out a MimeMultipart that contains no body
parts, or when trying to parse a multipart message with no body parts,
a MessagingException is thrown. The MIME spec does not allow
multipart content with no body parts. This
System property may be set to "true" to override this behavior.
When writing out such a MimeMultipart, a single empty part will be
included. When reading such a multipart, a MimeMultipart will be created
with no body parts.
The default value of this property is false.
|
The following properties are supported by the reference implementation (RI) of
JavaMail, but are not currently a required part of the specification.
These must be set as Session
properties.
The names, types, defaults, and semantics of these properties may
change in future releases.
The following properties are supported by the reference implementation (RI) of
JavaMail, but are not currently a required part of the specification.
These must be set as System
properties.
The names, types, defaults, and semantics of these properties may
change in future releases.
The current
implementation of classes in this package log debugging information using
Logger
as described in the following table:
Logger Name | Logging Level | Purpose |
---|---|---|
javax.mail.internet | FINE | General debugging output |
Copyright © 2015 Oracle. All rights reserved.