Last updated March 22, 2017 20:40, by Bill Shannon

JavaMail API

Welcome to the JavaMail API project! This project hosts the downloads and source code for the JavaMail API reference implementation. The JavaMail reference implementation is licensed under the Common Development and Distribution License (CDDL) v1.1 and GNU General Public License (GPL) v2 with Classpath Exception.

Download JavaMail Release

The latest release of JavaMail is 1.5.6.

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. You can find them in both the 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
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:


Some sample programs showing how to use the JavaMail APIs are available here.


Please read the JavaMail FAQ! Read it again. Tell everyone you know to read it. Thank you!

You can search for and post questions to the JavaMail forums here on, and the JavaMail OTN forum. You can also join this project and subscribe to the "users" mailing list. Or, send mail directly to the JavaMail team at


JavaMail bugs are still tracked in the JavaMail project issue tracker. We hope to migrate to the issue tracker here on soon.

Development Releases

From time to time snapshot releases of the next version of JavaMail under development are published to the 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.0-SNAPSHOT release here. Be sure to scroll to the bottom and choose the jar file with the most recent time stamp.

A Release Candidate version of JavaMail 1.6.0 is now available. This is a non-final development release of JavaMail 1.6.0 suitable for testing. Your feedback on this release is encouraged. The final release of JavaMail 1.6.0 is expected this summer.

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 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 Downloads area of this project.

If you're interested in contributing to JavaMail, see the Contributions page.

To understand the JavaMail license, see the License page.