The JavaMail API provides a platform-independent and
protocol-independent framework to build mail and messaging
applications.
The JavaMail API is available as an optional package for use with the
Java SE platform
and is also included in the
Java EE platform.
Table of Contents
Latest News
September 14, 2018 - JavaMail project moves to the Eclipse Foundation!
The JavaMail project is now hosted at the Eclipse Foundation as part of
the EE4J project.
By contributing to this project, you agree to these additional terms of
use, described in CONTRIBUTING.
August 29, 2018 - JavaMail 1.6.2 Final Release
The 1.6.2 release contains bug fixes and enhancements,
including the following significant changes:
- Support loading protocol providers using ServiceLoader
- http proxy support should support authenticating to the proxy server
Note that the JavaMail project will be moving to the Eclipse Foundation
as part of the
Eclipse Enterprise for Java
project over the next several weeks.
Future releases will be done as part of the Eclipse project for JavaMail.
Download JavaMail Release
The latest release of JavaMail is 1.6.2.
The following table provides easy access to the latest release. Most
people will only need the main JavaMail reference implementation in the
javax.mail.jar file.
Item |
Description |
javax.mail.jar |
The JavaMail reference implementation, including the SMTP, IMAP, and POP3 protocol providers |
README.txt |
Overview of the release |
NOTES.txt |
Additional notes about using JavaMail |
SSLNOTES.txt |
Notes on using SSL/TLS with JavaMail |
NTLMNOTES.txt |
Notes on using NTLM authentication with JavaMail |
CHANGES.txt |
Changes since the previous release |
COMPAT.txt |
Important notes about compatibility |
In addition, the JavaMail jar files are published to the Maven repository.
The main JavaMail jar file, which is all most applications will need,
can be included using this Maven dependency:
<dependencies>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
</dependencies>
You can find all of the JavaMail jar files in both the
java.net Maven repository, and in
Maven Central.
jar file |
groupId |
artifactId |
Description |
javax.mail.jar |
com.sun.mail |
javax.mail |
The JavaMail reference implementation jar file, including the SMTP, IMAP, and POP3 protocol providers |
javax.mail-api.jar |
javax.mail |
javax.mail-api |
The JavaMail API definitions only, suitable for compiling against; use only with a Maven “provided” dependency scope |
mailapi.jar |
com.sun.mail |
mailapi |
The JavaMail reference implementation with no protocol providers; use with one of the following providers |
smtp.jar |
com.sun.mail |
smtp |
The SMTP protocol provider |
imap.jar |
com.sun.mail |
imap |
The IMAP protocol provider |
pop3.jar |
com.sun.mail |
pop3 |
The POP3 protocol provider |
gimap.jar |
com.sun.mail |
gimap |
An EXPERIMENTAL Gmail IMAP protocol provider that supports Gmail-specific features |
dsn.jar |
com.sun.mail |
dsn |
Support for parsing and creating messages containing Delivery Status Notifications |
logging-mailhandler.jar |
com.sun.mail |
logging-mailhandler |
A java.util.logging handler that uses JavaMail, suitable for use in Google App Engine. |
API Documentation
The JavaMail API is defined through the Java Community Process as
JSR 919.
The JavaMail API documentation is available
here
and the JavaMail specification is available
here.
The following documents summarize the API changes in each release of
the JavaMail API specification:
Samples
Some sample programs showing how to use the JavaMail APIs are available
here.
Help
Please read the
JavaMail FAQ!
Read it again. Tell everyone you know to read it. Thank you!
You can post questions to the
javamail-dev mailing list.
Or, post a question on Stack Overflow using the
javamail tag.
Finally, you can send mail directly to the JavaMail team at
javamail_ww@oracle.com.
Bugs
JavaMail bugs are tracked in the
GitHub JavaMail project issue tracker.
Development Releases
From time to time snapshot releases of the next version of JavaMail
under development are published to the
java.net Maven repository.
These snapshot releases have received only minimal testing, but may
provide previews of bug fixes or new features under development.
For example, you can download the javax.mail.jar file from the JavaMail
1.6.3-SNAPSHOT release
here.
Be sure to scroll to the bottom and choose the jar file with the most
recent time stamp.
JavaMail for Android
The latest release includes support for JavaMail on Android.
See the Android page for details.
Project Documentation
You’ll find more information about the protocol providers supported by
JavaMail on the following pages:
If you’re interested in writing your own protocol provider (most people
won’t need to), you can find more documentation on protocol providers
here.
The use of
OAuth2 authentication
with JavaMail is described here.
The following pages provide hints and tips for using particular mail servers:
The following pages provide hints and tips for using JavaMail on
particular operating systems or environments:
See Build Instructions for instructions on how to
download and build the most recent JavaMail source code. You can also
find a bundle of the source code for the most recent JavaMail release
in the Releases area of
this project.
If you’re interested in contributing to JavaMail, see the
Contributions page.
For instructions to contribute to this site, please see the
Website page.
You can find a list of products related to JavaMail on the
Third Party Products page.
Please see our page of
links to additional information about JavaMail and Internet email
and our list of
books about JavaMail and Internet email.
To understand the JavaMail license, see the License page.