Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
335 lines (196 sloc) 13.4 KB
v5.5.0 - [v5.5.1](
- v5.5.1 (20-October-2019): #230: Bugfix: Missing address value in address headers (ie. Return-Path) not handled properly, resulting in Exception
- v5.5.0 (15-October-2019): #229: Bugfix: Timeouts not working for synchronous sendMail calls.
If you had connection properties configured for non-async send jobs, only now they will actually start to take effect.
v5.4.0 (28-August-2019)
- #221: API bugfix: server identity verification should not be tied to host trusting
- #226: Bug fix: Attachments with spaces in name are not handled properly
- #218: Enhancement: make Email serializable
- #227: Enhancement: Make parsing recipients from EML file more lenient
- #225: Enhancement: Clarify dependency on Jakarta Activation: DataSources no longer work on Java 9+
v5.3.0 (16-August-2019)
- #215: Enhancement: Make DKIM header canonicalization RELAXED instead of SIMPLE
Note this release should have no impact, but nonetheless is a minor update so you can determine for yourself if this update would cause issues.
The release changes DKIM header canonicalization from SIMPLE to RELAXED.
v5.2.1 (16-August-2019)
- #219: Bug: MimeMessageParser rejects attachments with duplicate names
v5.2.0 (7-July-2019)
- #213: Update from javax.mail:1.6.0 to jakarta.mail:1.6.3
Note that dependencies that switched as well have been updated as part of this change. This includes the optional DKIM library and the email validation library:
- net.markenwerk:utils-mail-dkim (1.1.10 -> 1.2.0)
- com.github.bbottema:emailaddress-rfc2822 (1.1.2 -> 2.1.3)
v5.1.1 - v5.1.7
- v5.1.7 (22-May-2019): #171 Header validation tripping on known safe emails due to References header
- v5.1.6 (27-April-2019): #204A Concurrent exception when an async process starts when the previous connection pool didn't shutdown in time
- v5.1.6 (27-April-2019): #204B Exceptions in threads are now caught and logged and don't bubble up anymore
- v5.1.5 (24-April-2019): #202 Fixed ConcurrentModificationException when moving invalid embedded images as regular attachments
- v5.1.4 (5-April-2019): Fixed missing mimetype for attachments when parsing Outlook messages where mimeTag was not included
- v5.1.3 (15-Januari-2019): Updated to newer rfc-validator version, which fixed a regression bug in that library
- v5.1.2 (9-Januari-2019): #189 Bugfix for missing timeout config for .testConnection() function
- v5.1.1 (22-December-2018): #190 Fix for transitive dependency clash because of emailaddress-rfc2822 library
v5.1.0 (7-November-2018)
- #179 You can now test the connection to the SMTP server
v5.0.1 - v5.0.8
- v5.0.8 (27-Oktober-2018): #178 Fix the annoying vulnerability Github report about spring-core
- v5.0.7 (27-Oktober-2018): #175 Attachment names are not always parsed properly from MimeMessage
- v5.0.6 (3-Oktober-2018): #167 Email addresses validated despite cleared validation validation criteria
- v5.0.5 (3-Oktober-2018): #137 When replying to an email with HTML, the result body is empty
- v5.0.4 (22-September-2018): #168 Properties aquired through ConfigLoader should be typed explicitly and converted if necessary
- v5.0.3 (11-April-2018): #136 ServerConfig class should be public API
- v5.0.2 (7-April-2018): #135 trustingAllHosts should be public on the Builder API
- v5.0.2 (7-April-2018): #131 NamedDataSource should implement EncodingAware
- v5.0.1 (10-March-2018): #130 java.lang.ClassNotFoundException: net.markenwerk.utils.mail.dkim.DkimMessage. Solves the issue of missing optional class DKIM even when not used
v5.0.0 (14-Februari-2018)
Also see the migrating notes (
New features
- #116 You can now test the connection to the SMTP server
- #115 Create mailers with a very robust MailerBuilder API, able to ignore defaults as well
- #114 Create emails with a very robust EmailBuilder API, able to ignore defaults as well. Now includes support for InternetAddress. Also copy
- #107 You can now easily forward or reply to emails!
Maintenance updates
Complete JavaDoc overhaul. Navigating the JavaDoc should be much more consistent now (builder API being the single *public* source of truth).
- #122 The email-rfc2822-validator library has been made a proper Maven dependency (not packaged along anymore)
- #120 The DKIM library has been made an optional proper Maven dependency (not packaged along anymore)
- #119 Switched optional Spring dependency version to property and now testing with 4.3.11.RELEASE
- #113 Updated the underlying JavaMail to 1.6.0
Security updates
- #111 Protocol properties for SMTPS are now applied properly
- #105 SMTP tries to upgrade to TLS while SMTP_TLS now enforces it and for both SMTP_TLS and SMTPS, mail.smtp.ssl.checkserveridentity is set
to true (
- #110 Trusted hosts should be space-delimited
- #109 Email headers should be allowed to be empty (now conversion errors can occur as well)
- #103 Converting to MimeMessage results in an invalid Content-Disposition for attachments
v4.4.5 (2-September-2017)
- #101 API backwards compatibility update, reinstate old addRecipient API as deprecated (sorry for removing it abruptly)
v4.4.4 (21-August-2017)
API usability release. *This relase streamlined the recipient setters, breaking backwards compatibility (but straightforward to fix)*
- #95 Feature: Add support native API for setting Return-Receipt-To header
- #93 Feature: Add support native API for setting Disposition-Notification-To header
- #91 *Feature: Add support for parsing preformatted email addresses that include both name and address*
- #94 Bugfix: A single EmailBuilder would build emails that all share the same collections for recipients, attachments and embedded images
- #98 Bugfix: Subject and body content should be optional
v4.3.0 (12-August-2017)
Security and timeout release.
This version safeguards against SMTP injection attack from external values entering the library through *Email* instance. Also, this release
introduces default/configurable timeouts for connecting, reading and writing when sending an email.
- #89 Support multiple delimited recipient addresses sharing the same TO/CC/BCC name
- #88 Safeguard subject property (and others) against SMTP CRLF injection attacks
- #85 Apply configurable timeouts when sending emails
- #83 Parse INLINE attachments without ID as regular attachments when converting (mostly applicable to Apple emails)
v4.2.3 (21-May-2017)
- #79: Enhancement: define custom message ID on the Email object
- #74: v4.2.3-java-6-release: A java6 version with limited capabilities:
I've released a customised java6 release with a customised outlook-message-parser 1.1.16-java6-release. This is the last java6 release I will do,
as it is simply too much manual labor to create a limited second edition.
For this edition, I've removed the JDK7 Phaser completely which has the following consequences:
- If authenticated proxy is used, the bridging proxy server will not be shut down automatically (and might not run the second time)
- If mails are sent in async mode, the connection pool will not be shut down anymore by itself
This means your server/application might not stop properly due to lingering processes. To be completely safe, only send emails in sync mode (used by default) and don't use authenticated proxy config.
v4.2.2 (10-May-2017)
- #73: Patch: fix for sending emails in async mode, which makes sure the connection pool is always closed when the last *known* email has been sent. Without
this fix, the connection pool keeps any parent process running (main thread or Tomcat for example) until a hard kill.
v4.2.1 (12-Feb-2017)
Patch: streamlined convenience methods for adding recipients.
v4.2.0 (12-Feb-2017)
Major feature: Using the EmailConverter you can now convert between Outlook .msg, EML, MimeMessage and Email!
- #66: Feature: convert email to EML
- #65: Feature: read outlook messages from .msg file
- #64: Feature: Added support for logging-only mode that skips the actual sending of emails
- #63: Feature: Already including in previous patch update: Spring support (read properties from Spring context)
- #69: Enhancement: Expanded EmailBuilder API to inlude more options for setting (multiple) recipients
- #70: Enhancement: Most public API now have defensive null-checks for required fields (Fail Fast support)
- #68: Bugfix: Name should be required for embedded images (added safeguards)
- #67: Bugfix: Error when name was omitted for attachment
- minor: added methods on AttachmentResource that reads back the content as (encoded) String
- other: internal testing is now done using Wiser SMTP test server for testing live sending emails
Note: Starting this release, there will always be a Java6 compatible release as well versioned: "x.y.z-java6-release"
v4.1.3 (28-Jan-2017)
- #61: Feature: Add support for providing your own Properties object
- #63: Feature: Spring support (read properties from Spring context)
- #58: Bugfix: Add support for non-English attachment and embedded image names
- #62: Bugfix: Empty properties loaded from config should be considered null
NOTE: ConfigLoader moved from /internal/util to /util
v4.1.2 (07-Nov-2016)
- #52: bug fix for windows / linux disparity when checking socket status
- #56: bug fix for IOException when signing dkim with a File reference
v4.1.1 (30-Jul-2016)
- #50: bug fix for manual naming datasources
v4.1.0 (22-Jul-2016)
- #48: Added programmatic support trusting hosts for SSL connections
- #47: Honor given names, deduce extension from datasource name, and more robust support for parsing mimemessages
v4.0.0 (05-Jul-2016)
- #41: added support for fast parallel batch processing
- #42: **added support for config files**
- #43: removed logging implementation dependencies from distribution and documented various sample configs
- #39: simplified and renamed packages to reflect the domain name of the new website:
- #38: added support for anonymous proxy
- #38: **added support for authenticated proxy**
NOTE: All packages have been renamed to "org.simplejavamail.(..)"
NOTE: Switched to Java 7
v3.1.1 (11-May-2016)
Major feature: DKIM support!
- #36: Added proper toString and equals methods for the Email classes
- #33: Added support for DKIM domain key signing
NOTE: this is the last release still using Java 6. Next release will be using Java 7.
/edit: starting with 4.2.0 every release will now have a "x.y.z-java6-release" release as well
v3.0.2 (07-May-2016)
- #35: added proper .equals() and .toString() methods
- #34: Fixed bug when disposition is missing (assume it is an attachment)
- #00: added findbugs support internally
v3.0.1 (29-Feb-2016)
- #31: Fixed EmailAddressCriteria.DEFAULT and clarified Javadoc
v3.0.0 (26-Feb-2016)
- #30: Improved the demonstration class to include attachments and embedded images
- #29: The package has been restructured for future maintenance, breaking backwards compatibility
- #28: Re-added improved email validation facility
- #22: Added conversion to and from MimeMessage. You can now consume and produce MimeMessage objects with simple-java-mail
v2.5.1 (19-Jan-2016)
- #25: Added finally clausule that will always close socket properly in case of an exception
v2.5 (19-Jan-2016)
- #24: Updated dependencies SLF4J to 1.7.13 and switched to the updated javax mail package com.sun.mail:javax.mail 1.5.5
v2.4 (12-Aug-2015)
- #21: Builder API uses CC and BCC recipient types incorrectly
v2.3 (21-Jul-2015)
- #19: supporting custom Session Properties now and emergency access to internal Session object.
v2.2 (09-May-2015)
- #3: turned off email regex validation by default, with the option to turn it back on
- #7: fixed NullPointerException when using your own Session instance
- #10: properly UTF-8 encode recipient addresses
- #14: switched to SLF4J, so you can easily use your own selected logging framework
- #17: Added fluent interface for building emails
v2.1 (09-Aug-2012)
- fixed character encoding for reply-to, from, to, body text and headers (to UTF-8)
- fixed bug where Recipient was not public resulting in uncompilable code when calling email.getRecipients()
v2.0 (20-Aug-2011)
- added support for open headers (such as X-Priority)
v1.9.1 (08-Aug-2011)
- updated for Maven support (library hasn't changed, but 1.9 was released incorrectly to Maven Central)
v1.9 (6-Aug-2011)
- added support for JavaMail's reply-to address
- made port optional as to support port defaulting based on protocol
- added transport strategy default in the createSession method
- tightened up thrown exceptions (MailException instead of RuntimeException)
- added and fixed JavaDoc
Added support for TLS (tested with gmail)
v1.7 (22-Mar-2011)
Added support for SSL! (tested with gmail)
- improved argument validation when creating a Mailer without preconfigured Session instance
know possible issue: SSL self-signed certificates might not work (yet). Please let me know by e-mail or create a new issue
Completed migration to Java Simple Mail project.
- removed all Vesijama references
- updated TestMail demonstration class for clarification
- updated readme.txt for test run instructions
- included
v1.4 (15-Jan-2011)
vX.X (26-Apr-2009)
- Initial upload to Google Code.
You can’t perform that action at this time.