# Package com.sun.mail.util

package com.sun.mail.util

Utility classes for use with the Jakarta Mail API. These utility classes are not part of the Jakarta Mail specification. While this package contains many classes used by the Jakarta Mail implementation and not intended for direct use by applications, the classes documented here may be of use to applications.

Classes in this package log debugging information using `java.util.logging` as described in the following table:

com.sun.mail.util Loggers
Logger Name | Logging Level | Purpose
--- | --- | ---
com.sun.mail.util.socket | FINER | Debugging output related to creating sockets

WARNING: The APIs in this package should be considered EXPERIMENTAL. They may be changed in the future in ways that are incompatible with applications using the current APIs.

Related Packages
Package
Description
com.sun.mail.util.logging
Contains Jakarta Mail extensions for the Java™ platform's core logging facilities.
Class
Description
ASCIIUtility
BASE64DecoderStream
This class implements a BASE64 Decoder.
BASE64EncoderStream
This class implements a BASE64 encoder.
BEncoderStream
This class implements a 'B' Encoder as defined by RFC2047 for encoding MIME headers.
CRLFOutputStream
Convert lines into the canonical format, that is, terminate lines with the CRLF sequence.
DecodingException
A special IOException that indicates a failure to decode data due to an error in the formatting of the data.
DefaultProvider
Annotation to mark the default providers that are part of Jakarta Mail.
DefaultProvider
Annotation to mark the default providers that are part of Jakarta Mail.
FolderClosedIOException
A variant of FolderClosedException that can be thrown from methods that only throw IOException.
LineInputStream
LineInputStream supports reading CRLF terminated lines that contain only US-ASCII characters from an input stream.
LineOutputStream
This class is to support writing out Strings as a sequence of bytes terminated by a CRLF sequence.
LogOutputStream
Capture output lines and send them to the mail logger.
MailConnectException
A MessagingException that indicates a socket connection attempt failed.
MailLogger
A simplified logger used by Jakarta Mail to handle logging to a PrintStream and logging through a java.util.logging.Logger.
MailSSLSocketFactory
An SSL socket factory that makes it easier to specify trust.
MessageRemovedIOException
A variant of MessageRemovedException that can be thrown from methods that only throw IOException.
MimeUtil
General MIME-related utility methods.
PropUtil
Utilities to make it easier to get property values.
QDecoderStream
This class implements a Q Decoder as defined in RFC 2047 for decoding MIME headers.
QEncoderStream
This class implements a Q Encoder as defined by RFC 2047 for encoding MIME headers.
QPDecoderStream
This class implements a QP Decoder.
QPEncoderStream
This class implements a Quoted Printable Encoder.
ReadableMime
A Message or message Part whose data can be read as a MIME format stream.
ReadableMime
A Message or message Part whose data can be read as a MIME format stream.
SharedByteArrayOutputStream
A ByteArrayOutputStream that allows us to share the byte array rather than copy it.
SocketConnectException
An IOException that indicates a socket connection attempt failed.
SocketFetcher
This class is used to get Sockets.
TimeoutOutputStream
An OutputStream that wraps the Socket's OutputStream and uses the ScheduledExecutorService to schedule a task to close the socket (aborting the write) if the timeout expires.
TraceInputStream
This class is a FilterInputStream that writes the bytes being read from the given input stream into the given output stream.
TraceOutputStream
This class is a subclass of DataOutputStream that copies the data being written into the DataOutputStream into another output stream.
UUDecoderStream
This class implements a UUDecoder.
UUEncoderStream
This class implements a UUEncoder.
WriteTimeoutSocket
A special Socket that uses a ScheduledExecutorService to implement timeouts for writes.