Commons Email Package Version 1.3 Release Notes INTRODUCTION: ------------- Commons Email aims to provide a API for sending email. It builds on the JavaMail API with the aim of presenting a simplified API which is easy for developers who are not mail experts to use. It is a compact component with a small number of classes. The Commons Email website is the source for the most recent information, downloads, reports, and bug status: http://commons.apache.org/email/ This is a maintenance release which fixes several bugs present in the 1.2 release and adds a number of small enhancements requested by users. All current users are encouraged to upgrade. CHANGES FROM 1.2: ----------------- == New Features == * HtmlmageEmail should support class path resources Issue: EMAIL-108. Thanks to Elisabeth Kasimir, Alexander Kasimir. * Added a MultiPartEmail.attach(File) method since attaching a file is a simple and common. * Added MimeMessageParser and MimeMessageUtils. == Fixed Bugs == * Added mime.types to META-INF - the definition is actually found in activation.jar but did not work. Issue: EMAIL-107. Thanks to Claus Polanka, Michael Jakl. * STARTTLS can be used even without authenticator. Issue: EMAIL-106. Thanks to Bruno Harbulot. * Clarified the meaning of setTLS() which actually sends a "STARTTLS" command from the client to the SMTP server. Please note that some "protected" variables were renamed which could break existing code. Issue: EMAIL-105. Thanks to Bruno Harbulot. * Fixed HtmlEmail embed toLowerCase bug with Turkish locale. Issue: EMAIL-102. Thanks to Okan Özeren. * Specified Content-ID is now used when embedding a File object in an HtmlEmail. Issue: EMAIL-101. Thanks to Andrew Starodub. * Restore Java 1.4 compatibility. * Throwing an IllegalStateException when setting mail session properties for an already created mail session because the settings would be ignored. Please note that this change could potentially break existing (but invalid) code. Issue: EMAIL-96. * Encoding and folding of headers is now done by commons-email. Issue: EMAIL-98. Thanks to Mario Daepp. * The default connection timeout is set to a reasonable default value of 60 seconds. Issue: EMAIL-100. Thanks to David Parks. * Moving the various constants from 'EMail' to 'EmailConstants' * All setters are returning "this" to simplify building an email. Issue: EMAIL-76. Thanks to Yu Kobayashi. * Adding ImageHtmlEmail to create HTML emails with embedded images either downloaded from HTTP or from the local file system. Issue: EMAIL-92. Thanks to Dominik Stadler. * Calling buildMimeMessage() before invoking send() caused duplicated mime parts for HtmlEmail. The implementation now enforces that an email can be only used once and throw an exception when multiple invocations of buildMimeMessage() are detected. Issue: EMAIL-95. * Incorrect SMTP Port number shown in error message when an email fails to send due to a blocked port and SSL is used. Issue: EMAIL-91. Thanks to Kevin Lester. CHANGES FROM 1.1: ----------------- == Compatibility == * Java 1.4 or later is now required. Earlier versions are no longer supported by Sun. * JavaMail 1.4 or later and JavaBeans Activation Framework 1.1 or later are now required. == New Features == * Email.setFrom and Email.addTo are using Email.charset to properly encode the name. * SimpleEmail#setMsg() with UTF-8 content honors correct charset in header and does encode the content correctly now. * Created additional methods to support timeouts. * Create an overridable method in Email.java to create the MimeMessage instance. * Add getTo and getReplyTo to Email class. == Fixed Bugs == * If setHostName() has not been called, getHostName() tries to return this.session.getProperty(MAIL_HOST). If mail session has not been created yet, this will throw a NullPointerException. Now getHostName() checks that this.session is not null before trying to access it. * Provide better diagnostics when attaching documents fail. * When mail authentication is required and no username/password is supplied than the provided mail session is used. If a username/password is found the implementation creates a new mail session and a DefaultAuthenticator as convinence implementation. * Using Kenneth's implementation of HtmlEmail.buildMimeMessage() to fix a couple of HtmlEmail layout issues. Also thanks to Martin Lau and Morten Hattesen for providing in-depth analysis of the problem. * During regression tests write out the generated MimeMessage instead of WiserEmail.toString(). REQUIREMENTS: J2SE environments ----------------- Commons Email requires JavaMail 1.4.1 or later. The Sun implementation is available at: http://java.sun.com/products/javamail/ However, the Apache Geronimo project (http://geronimo.apache.org) provides a J2EE-certified implementation of the JavaMail 1.4 specification licensed under the Apache Software License. Commons Email also requires the JavaBeans Activation Framework unless you are runnning on Java SE 6 or later. The Sun implementation is available at: http://java.sun.com/javase/technologies/desktop/javabeans/jaf/ Apache Geronimo likewise provides an implementation under the Apache Software License. Commons Email has been tested with JDK 1.4, 1.5 and 1.6 J2EE environments ----------------- Commons Email is compatible with all certified Java Enterprise Edition 5 implementations; no further dependencies are required. Java 2 Enterprise Edition 1.4 users must ensure that the versions of JavaMail and JAF indicated above are available to their applications; the J2EE 1.4 specification only requires earlier versions. Earlier versions of J2EE are not supported.