diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 4f823ea26..9839b02ed 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -22,6 +22,23 @@ current users are encouraged to upgrade. For the security bugfix see https://commons.apache.org/proper/commons-email/security-reports.html#Fixed_in_Apache_Commons_Email_1.5 +CHANGES FROM 2.0: +----------------- + +== Compatibility == + +* JavaMail dependency has been upgraded to version 2.0.0, + as a consequence, all types javax.mail.* changed to jakarta.mail.* and + the maven dependency has changed to: + + + com.sun.mail + jakarta.mail + 2.0.0 + + +CHANGES FROM 1.6: + CHANGES FROM 1.5: * Add Automatic-Module-Name MANIFEST entry for Java 9 compatibility. diff --git a/conf/findbugs-exclude-filter.xml b/conf/findbugs-exclude-filter.xml index 5ffb16c61..46bc93f6f 100644 --- a/conf/findbugs-exclude-filter.xml +++ b/conf/findbugs-exclude-filter.xml @@ -27,7 +27,7 @@ - + diff --git a/pom.xml b/pom.xml index 6b9cf4e4f..1a860b76e 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ 4.0.0 commons-email - 1.6-SNAPSHOT + 2.0.0-SNAPSHOT Apache Commons Email 2001 @@ -237,37 +237,33 @@ com.sun.mail jakarta.mail - 1.6.5 + 2.0.0 junit junit - 4.13.1 + 4.13.2 test org.slf4j slf4j-jdk14 - 1.7.7 + 1.7.30 test commons-io commons-io - 2.6 + 2.8.0 test - - org.subethamail - subethasmtp - 3.1.7 - test - - - javax.mail - mail - - + + + + com.github.davidmoten + subethasmtp + 6.0.0 + test org.powermock @@ -313,7 +309,7 @@ - clean verify apache-rat:check clirr:check spotbugs:check javadoc:javadoc + clean verify spotbugs:check javadoc:javadoc org.apache.maven.plugins diff --git a/src/changes/changes.xml b/src/changes/changes.xml index eab747795..383ae10b8 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -22,6 +22,8 @@ + + Fix broken JDK 9 build by updating "easymock" and other dependencies. diff --git a/src/main/java/org/apache/commons/mail/ByteArrayDataSource.java b/src/main/java/org/apache/commons/mail/ByteArrayDataSource.java index e489abbcc..cc49339db 100644 --- a/src/main/java/org/apache/commons/mail/ByteArrayDataSource.java +++ b/src/main/java/org/apache/commons/mail/ByteArrayDataSource.java @@ -25,7 +25,7 @@ import java.io.OutputStream; import java.io.UnsupportedEncodingException; -import javax.activation.DataSource; +import jakarta.activation.DataSource; /** * This class implements a typed DataSource from:
@@ -39,11 +39,11 @@ * and it is recommended to do so. * * @since 1.0 - * @deprecated since 1.4, use {@link javax.mail.util.ByteArrayDataSource} instead + * @deprecated since 1.4, use {@link jakarta.mail.util.ByteArrayDataSource} instead */ @Deprecated public class ByteArrayDataSource implements DataSource -{ +{ /** Define the buffer size. */ public static final int BUFFER_SIZE = 512; @@ -55,7 +55,7 @@ public class ByteArrayDataSource implements DataSource /** * The name associated with this data source. - * By default, the name is an empty string, similar to javax.mail.util.ByteArrayDataSource. + * By default, the name is an empty string, similar to jakarta.mail.util.ByteArrayDataSource. * @since 1.3.1 */ private String name = ""; diff --git a/src/main/java/org/apache/commons/mail/DataSourceResolver.java b/src/main/java/org/apache/commons/mail/DataSourceResolver.java index ebcb85c70..49f340c4f 100644 --- a/src/main/java/org/apache/commons/mail/DataSourceResolver.java +++ b/src/main/java/org/apache/commons/mail/DataSourceResolver.java @@ -16,7 +16,7 @@ */ package org.apache.commons.mail; -import javax.activation.DataSource; +import jakarta.activation.DataSource; import java.io.IOException; /** diff --git a/src/main/java/org/apache/commons/mail/DefaultAuthenticator.java b/src/main/java/org/apache/commons/mail/DefaultAuthenticator.java index 9802c1be2..16c2ce46c 100644 --- a/src/main/java/org/apache/commons/mail/DefaultAuthenticator.java +++ b/src/main/java/org/apache/commons/mail/DefaultAuthenticator.java @@ -16,8 +16,8 @@ */ package org.apache.commons.mail; -import javax.mail.Authenticator; -import javax.mail.PasswordAuthentication; +import jakarta.mail.Authenticator; +import jakarta.mail.PasswordAuthentication; /** * This is a very simple authentication object that can be used for any diff --git a/src/main/java/org/apache/commons/mail/Email.java b/src/main/java/org/apache/commons/mail/Email.java index 16a8ac213..3cfa246b3 100644 --- a/src/main/java/org/apache/commons/mail/Email.java +++ b/src/main/java/org/apache/commons/mail/Email.java @@ -26,21 +26,21 @@ import java.util.Map; import java.util.Properties; -import javax.mail.Authenticator; -import javax.mail.Message; -import javax.mail.MessagingException; -import javax.mail.Session; -import javax.mail.Store; -import javax.mail.Transport; -import javax.mail.internet.AddressException; -import javax.mail.internet.InternetAddress; -import javax.mail.internet.MimeMessage; -import javax.mail.internet.MimeMultipart; -import javax.mail.internet.MimeUtility; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; +import jakarta.mail.Authenticator; +import jakarta.mail.Message; +import jakarta.mail.MessagingException; +import jakarta.mail.Session; +import jakarta.mail.Store; +import jakarta.mail.Transport; +import jakarta.mail.internet.AddressException; +import jakarta.mail.internet.InternetAddress; +import jakarta.mail.internet.MimeMessage; +import jakarta.mail.internet.MimeMultipart; +import jakarta.mail.internet.MimeUtility; import org.apache.commons.mail.util.IDNEmailAddressConverter; /** @@ -595,7 +595,7 @@ public void setMailSession(final Session aSession) /** * Supply a mail Session object from a JNDI directory. * - * @param jndiName name of JNDI resource (javax.mail.Session type), resource + * @param jndiName name of JNDI resource (jakarta.mail.Session type), resource * if searched in java:comp/env if name does not start with "java:" * @throws IllegalArgumentException if the JNDI name is null or empty * @throws NamingException if the resource cannot be retrieved from JNDI directory @@ -855,7 +855,7 @@ public Email addTo(final String email, final String name, final String charset) * @param aCollection collection of {@code InternetAddress} objects. * @return An Email. * @throws EmailException Indicates an invalid email address. - * @see javax.mail.internet.InternetAddress + * @see jakarta.mail.internet.InternetAddress * @since 1.0 */ public Email setTo(final Collection aCollection) throws EmailException @@ -964,7 +964,7 @@ public Email addCc(final String email, final String name, final String charset) * @param aCollection collection of {@code InternetAddress} objects. * @return An Email. * @throws EmailException Indicates an invalid email address. - * @see javax.mail.internet.InternetAddress + * @see jakarta.mail.internet.InternetAddress * @since 1.0 */ public Email setCc(final Collection aCollection) throws EmailException @@ -1073,7 +1073,7 @@ public Email addBcc(final String email, final String name, final String charset) * @param aCollection collection of {@code InternetAddress} objects * @return An Email. * @throws EmailException Indicates an invalid email address - * @see javax.mail.internet.InternetAddress + * @see jakarta.mail.internet.InternetAddress * @since 1.0 */ public Email setBcc(final Collection aCollection) throws EmailException @@ -1152,7 +1152,7 @@ public Email addReplyTo(final String email, final String name, final String char * @param aCollection collection of {@code InternetAddress} objects * @return An Email. * @throws EmailException Indicates an invalid email address - * @see javax.mail.internet.InternetAddress + * @see jakarta.mail.internet.InternetAddress * @since 1.1 */ public Email setReplyTo(final Collection aCollection) throws EmailException @@ -1782,7 +1782,7 @@ public boolean isSendPartial() * Sets whether the email is partially send in case of invalid addresses. *

* In case the mail server rejects an address as invalid, the call to {@link #send()} - * may throw a {@link javax.mail.SendFailedException}, even if partial send mode is enabled (emails + * may throw a {@link jakarta.mail.SendFailedException}, even if partial send mode is enabled (emails * to valid addresses will be transmitted). In case the email server does not reject * invalid addresses immediately, but return a bounce message, no exception will be thrown * by the {@link #send()} method. diff --git a/src/main/java/org/apache/commons/mail/EmailAttachment.java b/src/main/java/org/apache/commons/mail/EmailAttachment.java index cbe5733de..950546c38 100644 --- a/src/main/java/org/apache/commons/mail/EmailAttachment.java +++ b/src/main/java/org/apache/commons/mail/EmailAttachment.java @@ -26,10 +26,10 @@ public class EmailAttachment { /** Definition of the part being an attachment. */ - public static final String ATTACHMENT = javax.mail.Part.ATTACHMENT; + public static final String ATTACHMENT = jakarta.mail.Part.ATTACHMENT; /** Definition of the part being inline. */ - public static final String INLINE = javax.mail.Part.INLINE; + public static final String INLINE = jakarta.mail.Part.INLINE; /** The name of this attachment. */ private String name = ""; diff --git a/src/main/java/org/apache/commons/mail/EmailUtils.java b/src/main/java/org/apache/commons/mail/EmailUtils.java index 7df8c42e8..c068df32b 100644 --- a/src/main/java/org/apache/commons/mail/EmailUtils.java +++ b/src/main/java/org/apache/commons/mail/EmailUtils.java @@ -23,8 +23,8 @@ import java.util.BitSet; import java.util.Random; -import javax.mail.MessagingException; -import javax.mail.internet.MimeMessage; +import jakarta.mail.MessagingException; +import jakarta.mail.internet.MimeMessage; import org.apache.commons.mail.util.MimeMessageUtils; diff --git a/src/main/java/org/apache/commons/mail/HtmlEmail.java b/src/main/java/org/apache/commons/mail/HtmlEmail.java index 864e6ffc8..ebf29c6fd 100644 --- a/src/main/java/org/apache/commons/mail/HtmlEmail.java +++ b/src/main/java/org/apache/commons/mail/HtmlEmail.java @@ -27,14 +27,14 @@ import java.util.Locale; import java.util.Map; -import javax.activation.DataHandler; -import javax.activation.DataSource; -import javax.activation.FileDataSource; -import javax.activation.URLDataSource; -import javax.mail.BodyPart; -import javax.mail.MessagingException; -import javax.mail.internet.MimeBodyPart; -import javax.mail.internet.MimeMultipart; +import jakarta.activation.DataHandler; +import jakarta.activation.DataSource; +import jakarta.activation.FileDataSource; +import jakarta.activation.URLDataSource; +import jakarta.mail.BodyPart; +import jakarta.mail.MessagingException; +import jakarta.mail.internet.MimeBodyPart; +import jakarta.mail.internet.MimeMultipart; /** * An HTML multipart email. @@ -119,7 +119,7 @@ public class HtmlEmail extends MultiPartEmail * * @param aText A String. * @return An HtmlEmail. - * @throws EmailException see javax.mail.internet.MimeBodyPart + * @throws EmailException see jakarta.mail.internet.MimeBodyPart * for definitions * @since 1.0 */ @@ -139,7 +139,7 @@ public HtmlEmail setTextMsg(final String aText) throws EmailException * * @param aHtml A String. * @return An HtmlEmail. - * @throws EmailException see javax.mail.internet.MimeBodyPart + * @throws EmailException see jakarta.mail.internet.MimeBodyPart * for definitions * @since 1.0 */ @@ -166,7 +166,7 @@ public HtmlEmail setHtmlMsg(final String aHtml) throws EmailException * @param msg the message text to use * @return this {@code HtmlEmail} * @throws EmailException if msg is null or empty; - * see javax.mail.internet.MimeBodyPart for definitions + * see jakarta.mail.internet.MimeBodyPart for definitions * @since 1.0 */ @Override @@ -202,7 +202,7 @@ public Email setMsg(final String msg) throws EmailException * @param name The name that will be set in the file name header field. * @return A String with the Content-ID of the URL. * @throws EmailException when URL supplied is invalid or if {@code name} is null - * or empty; also see {@link javax.mail.internet.MimeBodyPart} for definitions + * or empty; also see {@link jakarta.mail.internet.MimeBodyPart} for definitions * * @see #embed(URL, String) * @since 1.1 @@ -248,7 +248,7 @@ public String embed(final String urlString, final String name) throws EmailExcep * field. * @return A String with the Content-ID of the file. * @throws EmailException when URL supplied is invalid or if {@code name} is null - * or empty; also see {@link javax.mail.internet.MimeBodyPart} for definitions + * or empty; also see {@link jakarta.mail.internet.MimeBodyPart} for definitions * @since 1.0 */ public String embed(final URL url, final String name) throws EmailException @@ -311,7 +311,7 @@ public String embed(final URL url, final String name) throws EmailException * @param file The {@code File} object to embed * @return A String with the Content-ID of the file. * @throws EmailException when the supplied {@code File} cannot be - * used; also see {@link javax.mail.internet.MimeBodyPart} for definitions + * used; also see {@link jakarta.mail.internet.MimeBodyPart} for definitions * * @see #embed(File, String) * @since 1.1 @@ -344,7 +344,7 @@ public String embed(final File file) throws EmailException * @return A String with the Content-ID of the file. * @throws EmailException when the supplied {@code File} cannot be used * or if the file has already been embedded; - * also see {@link javax.mail.internet.MimeBodyPart} for definitions + * also see {@link jakarta.mail.internet.MimeBodyPart} for definitions * @since 1.1 */ public String embed(final File file, final String cid) throws EmailException diff --git a/src/main/java/org/apache/commons/mail/ImageHtmlEmail.java b/src/main/java/org/apache/commons/mail/ImageHtmlEmail.java index df36462a7..9bd332c77 100644 --- a/src/main/java/org/apache/commons/mail/ImageHtmlEmail.java +++ b/src/main/java/org/apache/commons/mail/ImageHtmlEmail.java @@ -16,7 +16,7 @@ */ package org.apache.commons.mail; -import javax.activation.DataSource; +import jakarta.activation.DataSource; import java.io.IOException; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/org/apache/commons/mail/MultiPartEmail.java b/src/main/java/org/apache/commons/mail/MultiPartEmail.java index 15358f7ac..7a34349e2 100644 --- a/src/main/java/org/apache/commons/mail/MultiPartEmail.java +++ b/src/main/java/org/apache/commons/mail/MultiPartEmail.java @@ -22,16 +22,16 @@ import java.io.UnsupportedEncodingException; import java.net.URL; -import javax.activation.DataHandler; -import javax.activation.DataSource; -import javax.activation.FileDataSource; -import javax.activation.URLDataSource; -import javax.mail.BodyPart; -import javax.mail.MessagingException; -import javax.mail.internet.MimeBodyPart; -import javax.mail.internet.MimeMultipart; -import javax.mail.internet.MimePart; -import javax.mail.internet.MimeUtility; +import jakarta.activation.DataHandler; +import jakarta.activation.DataSource; +import jakarta.activation.FileDataSource; +import jakarta.activation.URLDataSource; +import jakarta.mail.BodyPart; +import jakarta.mail.MessagingException; +import jakarta.mail.internet.MimeBodyPart; +import jakarta.mail.internet.MimeMultipart; +import jakarta.mail.internet.MimePart; +import jakarta.mail.internet.MimeUtility; /** * A multipart email. @@ -90,7 +90,7 @@ public String getSubType() * @param partContent The content. * @param partContentType The content type. * @return An Email. - * @throws EmailException see javax.mail.internet.MimeBodyPart + * @throws EmailException see jakarta.mail.internet.MimeBodyPart * for definitions * @since 1.0 */ @@ -116,7 +116,7 @@ public Email addPart(final String partContent, final String partContentType) * * @param multipart The MimeMultipart. * @return An Email. - * @throws EmailException see javax.mail.internet.MimeBodyPart + * @throws EmailException see jakarta.mail.internet.MimeBodyPart * for definitions * @since 1.0 */ @@ -179,7 +179,7 @@ protected void init() * * @param msg A String. * @return An Email. - * @throws EmailException see javax.mail.internet.MimeBodyPart + * @throws EmailException see jakarta.mail.internet.MimeBodyPart * for definitions * @since 1.0 */ @@ -263,7 +263,7 @@ public void buildMimeMessage() throws EmailException * * @param file A file attachment * @return A MultiPartEmail. - * @throws EmailException see javax.mail.internet.MimeBodyPart + * @throws EmailException see jakarta.mail.internet.MimeBodyPart * for definitions * @since 1.3 */ @@ -294,7 +294,7 @@ public MultiPartEmail attach(final File file) * * @param attachment An EmailAttachment. * @return A MultiPartEmail. - * @throws EmailException see javax.mail.internet.MimeBodyPart + * @throws EmailException see jakarta.mail.internet.MimeBodyPart * for definitions * @since 1.0 */ @@ -354,7 +354,7 @@ public MultiPartEmail attach(final EmailAttachment attachment) * @param name The name field for the attachment. * @param description A description for the attachment. * @return A MultiPartEmail. - * @throws EmailException see javax.mail.internet.MimeBodyPart + * @throws EmailException see jakarta.mail.internet.MimeBodyPart * for definitions * @since 1.0 */ @@ -372,7 +372,7 @@ public MultiPartEmail attach(final URL url, final String name, final String desc * @param description A description for the attachment. * @param disposition Either mixed or inline. * @return A MultiPartEmail. - * @throws EmailException see javax.mail.internet.MimeBodyPart + * @throws EmailException see jakarta.mail.internet.MimeBodyPart * for definitions * @since 1.0 */ @@ -404,7 +404,7 @@ public MultiPartEmail attach( * @param name The name field for the attachment. * @param description A description for the attachment. * @return A MultiPartEmail. - * @throws EmailException see javax.mail.internet.MimeBodyPart + * @throws EmailException see jakarta.mail.internet.MimeBodyPart * for definitions * @since 1.0 */ @@ -445,7 +445,7 @@ public MultiPartEmail attach( * @param description A description for the attachment. * @param disposition Either mixed or inline. * @return A MultiPartEmail. - * @throws EmailException see javax.mail.internet.MimeBodyPart + * @throws EmailException see jakarta.mail.internet.MimeBodyPart * for definitions * @since 1.0 */ diff --git a/src/main/java/org/apache/commons/mail/SimpleEmail.java b/src/main/java/org/apache/commons/mail/SimpleEmail.java index ed4bd3f1a..5a5a0dbcb 100644 --- a/src/main/java/org/apache/commons/mail/SimpleEmail.java +++ b/src/main/java/org/apache/commons/mail/SimpleEmail.java @@ -29,7 +29,7 @@ public class SimpleEmail extends Email * * @param msg A String. * @return An Email. - * @throws EmailException see javax.mail.internet.MimeBodyPart + * @throws EmailException see jakarta.mail.internet.MimeBodyPart * for definitions * @since 1.0 */ diff --git a/src/main/java/org/apache/commons/mail/resolver/DataSourceClassPathResolver.java b/src/main/java/org/apache/commons/mail/resolver/DataSourceClassPathResolver.java index 4f1fcdb6b..f03510ae3 100644 --- a/src/main/java/org/apache/commons/mail/resolver/DataSourceClassPathResolver.java +++ b/src/main/java/org/apache/commons/mail/resolver/DataSourceClassPathResolver.java @@ -16,9 +16,9 @@ */ package org.apache.commons.mail.resolver; -import javax.activation.DataSource; -import javax.activation.FileTypeMap; -import javax.mail.util.ByteArrayDataSource; +import jakarta.activation.DataSource; +import jakarta.activation.FileTypeMap; +import jakarta.mail.util.ByteArrayDataSource; import java.io.IOException; import java.io.InputStream; diff --git a/src/main/java/org/apache/commons/mail/resolver/DataSourceCompositeResolver.java b/src/main/java/org/apache/commons/mail/resolver/DataSourceCompositeResolver.java index ac7881874..1911c5811 100644 --- a/src/main/java/org/apache/commons/mail/resolver/DataSourceCompositeResolver.java +++ b/src/main/java/org/apache/commons/mail/resolver/DataSourceCompositeResolver.java @@ -18,7 +18,7 @@ import org.apache.commons.mail.DataSourceResolver; -import javax.activation.DataSource; +import jakarta.activation.DataSource; import java.io.IOException; /** diff --git a/src/main/java/org/apache/commons/mail/resolver/DataSourceFileResolver.java b/src/main/java/org/apache/commons/mail/resolver/DataSourceFileResolver.java index 0aeafc86a..cd2020f41 100644 --- a/src/main/java/org/apache/commons/mail/resolver/DataSourceFileResolver.java +++ b/src/main/java/org/apache/commons/mail/resolver/DataSourceFileResolver.java @@ -16,8 +16,8 @@ */ package org.apache.commons.mail.resolver; -import javax.activation.DataSource; -import javax.activation.FileDataSource; +import jakarta.activation.DataSource; +import jakarta.activation.FileDataSource; import java.io.File; import java.io.IOException; diff --git a/src/main/java/org/apache/commons/mail/resolver/DataSourceUrlResolver.java b/src/main/java/org/apache/commons/mail/resolver/DataSourceUrlResolver.java index c832fc8b1..5c6ec0a2b 100644 --- a/src/main/java/org/apache/commons/mail/resolver/DataSourceUrlResolver.java +++ b/src/main/java/org/apache/commons/mail/resolver/DataSourceUrlResolver.java @@ -16,8 +16,8 @@ */ package org.apache.commons.mail.resolver; -import javax.activation.DataSource; -import javax.activation.URLDataSource; +import jakarta.activation.DataSource; +import jakarta.activation.URLDataSource; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; diff --git a/src/main/java/org/apache/commons/mail/util/IDNEmailAddressConverter.java b/src/main/java/org/apache/commons/mail/util/IDNEmailAddressConverter.java index 407859879..33a8e0465 100644 --- a/src/main/java/org/apache/commons/mail/util/IDNEmailAddressConverter.java +++ b/src/main/java/org/apache/commons/mail/util/IDNEmailAddressConverter.java @@ -16,7 +16,7 @@ */ package org.apache.commons.mail.util; -import javax.mail.internet.InternetAddress; +import jakarta.mail.internet.InternetAddress; import java.net.IDN; /** diff --git a/src/main/java/org/apache/commons/mail/util/MimeMessageParser.java b/src/main/java/org/apache/commons/mail/util/MimeMessageParser.java index 915c83497..1b132e07c 100644 --- a/src/main/java/org/apache/commons/mail/util/MimeMessageParser.java +++ b/src/main/java/org/apache/commons/mail/util/MimeMessageParser.java @@ -30,20 +30,20 @@ import java.util.List; import java.util.Map; -import javax.activation.DataHandler; -import javax.activation.DataSource; -import javax.mail.Message; -import javax.mail.MessagingException; -import javax.mail.Multipart; -import javax.mail.Part; -import javax.mail.internet.ContentType; -import javax.mail.internet.InternetAddress; -import javax.mail.internet.MimeBodyPart; -import javax.mail.internet.MimeMessage; -import javax.mail.internet.MimePart; -import javax.mail.internet.MimeUtility; -import javax.mail.internet.ParseException; -import javax.mail.util.ByteArrayDataSource; +import jakarta.activation.DataHandler; +import jakarta.activation.DataSource; +import jakarta.mail.Message; +import jakarta.mail.MessagingException; +import jakarta.mail.Multipart; +import jakarta.mail.Part; +import jakarta.mail.internet.ContentType; +import jakarta.mail.internet.InternetAddress; +import jakarta.mail.internet.MimeBodyPart; +import jakarta.mail.internet.MimeMessage; +import jakarta.mail.internet.MimePart; +import jakarta.mail.internet.MimeUtility; +import jakarta.mail.internet.ParseException; +import jakarta.mail.util.ByteArrayDataSource; /** * Parses a MimeMessage and stores the individual parts such a plain text, @@ -100,30 +100,30 @@ public MimeMessageParser parse() throws Exception * @return the 'to' recipients of the message * @throws Exception determining the recipients failed */ - public List getTo() throws Exception + public List getTo() throws Exception { - final javax.mail.Address[] recipients = this.mimeMessage.getRecipients(Message.RecipientType.TO); - return recipients != null ? Arrays.asList(recipients) : new ArrayList(); + final jakarta.mail.Address[] recipients = this.mimeMessage.getRecipients(Message.RecipientType.TO); + return recipients != null ? Arrays.asList(recipients) : new ArrayList(); } /** * @return the 'cc' recipients of the message * @throws Exception determining the recipients failed */ - public List getCc() throws Exception + public List getCc() throws Exception { - final javax.mail.Address[] recipients = this.mimeMessage.getRecipients(Message.RecipientType.CC); - return recipients != null ? Arrays.asList(recipients) : new ArrayList(); + final jakarta.mail.Address[] recipients = this.mimeMessage.getRecipients(Message.RecipientType.CC); + return recipients != null ? Arrays.asList(recipients) : new ArrayList(); } /** * @return the 'bcc' recipients of the message * @throws Exception determining the recipients failed */ - public List getBcc() throws Exception + public List getBcc() throws Exception { - final javax.mail.Address[] recipients = this.mimeMessage.getRecipients(Message.RecipientType.BCC); - return recipients != null ? Arrays.asList(recipients) : new ArrayList(); + final jakarta.mail.Address[] recipients = this.mimeMessage.getRecipients(Message.RecipientType.BCC); + return recipients != null ? Arrays.asList(recipients) : new ArrayList(); } /** @@ -132,7 +132,7 @@ public List getBcc() throws Exception */ public String getFrom() throws Exception { - final javax.mail.Address[] addresses = this.mimeMessage.getFrom(); + final jakarta.mail.Address[] addresses = this.mimeMessage.getFrom(); if (addresses == null || addresses.length == 0) { return null; @@ -146,7 +146,7 @@ public String getFrom() throws Exception */ public String getReplyTo() throws Exception { - final javax.mail.Address[] addresses = this.mimeMessage.getReplyTo(); + final jakarta.mail.Address[] addresses = this.mimeMessage.getReplyTo(); if (addresses == null || addresses.length == 0) { return null; diff --git a/src/main/java/org/apache/commons/mail/util/MimeMessageUtils.java b/src/main/java/org/apache/commons/mail/util/MimeMessageUtils.java index 503480ca2..3648ff5be 100644 --- a/src/main/java/org/apache/commons/mail/util/MimeMessageUtils.java +++ b/src/main/java/org/apache/commons/mail/util/MimeMessageUtils.java @@ -16,9 +16,9 @@ */ package org.apache.commons.mail.util; -import javax.mail.MessagingException; -import javax.mail.Session; -import javax.mail.internet.MimeMessage; +import jakarta.mail.MessagingException; +import jakarta.mail.Session; +import jakarta.mail.internet.MimeMessage; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; diff --git a/src/site/xdoc/userguide.xml b/src/site/xdoc/userguide.xml index bceaf794c..b752a99a7 100644 --- a/src/site/xdoc/userguide.xml +++ b/src/site/xdoc/userguide.xml @@ -242,7 +242,7 @@ import org.apache.commons.mail.HtmlEmail;

You can perform a more complex authentication method such as displaying a dialog box to the user by creating a subclass of the - javax.mail.Authenticator object. You will need to + jakarta.mail.Authenticator object. You will need to override the getPasswordAuthentication() method where you will handle collecting the user's information. To make use of your new Authenticator class, use the diff --git a/src/test/java/org/apache/commons/mail/AbstractEmailTest.java b/src/test/java/org/apache/commons/mail/AbstractEmailTest.java index 8c1324f48..5408095d1 100644 --- a/src/test/java/org/apache/commons/mail/AbstractEmailTest.java +++ b/src/test/java/org/apache/commons/mail/AbstractEmailTest.java @@ -17,11 +17,17 @@ package org.apache.commons.mail; import static org.easymock.EasyMock.expect; -import static org.hamcrest.CoreMatchers.containsString; -import static org.junit.Assert.*; import static org.powermock.api.easymock.PowerMock.createMock; import static org.powermock.api.easymock.PowerMock.replay; +import static org.hamcrest.CoreMatchers.containsString; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + import java.io.BufferedOutputStream; import java.io.ByteArrayOutputStream; import java.io.File; @@ -31,13 +37,12 @@ import java.util.Enumeration; import java.util.List; -import javax.activation.DataHandler; -import javax.mail.Header; -import javax.mail.MessagingException; -import javax.mail.Multipart; -import javax.mail.internet.InternetAddress; -import javax.mail.internet.MimeMessage; - +import jakarta.activation.DataHandler; +import jakarta.mail.Header; +import jakarta.mail.MessagingException; +import jakarta.mail.Multipart; +import jakarta.mail.internet.InternetAddress; +import jakarta.mail.internet.MimeMessage; import org.apache.commons.mail.settings.EmailConfiguration; import org.junit.After; import org.junit.Before; @@ -197,8 +202,7 @@ public void getMailServer() { mailServerPort++; - this.fakeMailServer = new Wiser(); - this.fakeMailServer.setPort(getMailServerPort()); + this.fakeMailServer = Wiser.port(getMailServerPort()); this.fakeMailServer.start(); assertFalse("fake mail server didn't start", isMailServerStopped(fakeMailServer)); diff --git a/src/test/java/org/apache/commons/mail/DefaultAuthenticatorTest.java b/src/test/java/org/apache/commons/mail/DefaultAuthenticatorTest.java index a03cd97e8..6efc02998 100644 --- a/src/test/java/org/apache/commons/mail/DefaultAuthenticatorTest.java +++ b/src/test/java/org/apache/commons/mail/DefaultAuthenticatorTest.java @@ -18,7 +18,7 @@ import static org.junit.Assert.*; -import javax.mail.PasswordAuthentication; +import jakarta.mail.PasswordAuthentication; import org.junit.Test; diff --git a/src/test/java/org/apache/commons/mail/EmailLiveTest.java b/src/test/java/org/apache/commons/mail/EmailLiveTest.java index c8d6733c8..d91af094f 100644 --- a/src/test/java/org/apache/commons/mail/EmailLiveTest.java +++ b/src/test/java/org/apache/commons/mail/EmailLiveTest.java @@ -22,11 +22,11 @@ import java.util.ArrayList; import java.util.List; -import javax.activation.DataSource; -import javax.activation.URLDataSource; -import javax.mail.Session; -import javax.mail.Transport; -import javax.mail.internet.MimeMessage; +import jakarta.activation.DataSource; +import jakarta.activation.URLDataSource; +import jakarta.mail.Session; +import jakarta.mail.Transport; +import jakarta.mail.internet.MimeMessage; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; @@ -263,7 +263,7 @@ public void testCorrectCharacterEncoding() throws Exception email.setMsg(textMsg); // create a proper UTF-8 sequence for the text attachment (matching our default charset) - final DataSource attachment = new javax.mail.util.ByteArrayDataSource(textMsg.getBytes("utf-8"), "text/plain"); + final DataSource attachment = new jakarta.mail.util.ByteArrayDataSource(textMsg.getBytes("utf-8"), "text/plain"); email.attach(attachment, attachmentName, "Attachment in Greek"); EmailUtils.writeMimeMessage( new File("./target/test-emails/correct-encoding.eml"), send(email).getMimeMessage()); diff --git a/src/test/java/org/apache/commons/mail/EmailTest.java b/src/test/java/org/apache/commons/mail/EmailTest.java index 323eedc95..a8bc9004f 100644 --- a/src/test/java/org/apache/commons/mail/EmailTest.java +++ b/src/test/java/org/apache/commons/mail/EmailTest.java @@ -31,12 +31,12 @@ import java.util.Map; import java.util.Properties; -import javax.mail.Message; -import javax.mail.Session; -import javax.mail.internet.InternetAddress; -import javax.mail.internet.MimeMessage; -import javax.mail.internet.MimeMultipart; -import javax.mail.internet.ParseException; +import jakarta.mail.Message; +import jakarta.mail.Session; +import jakarta.mail.internet.InternetAddress; +import jakarta.mail.internet.MimeMessage; +import jakarta.mail.internet.MimeMultipart; +import jakarta.mail.internet.ParseException; import org.apache.commons.mail.mocks.MockEmailConcrete; import org.junit.Before; diff --git a/src/test/java/org/apache/commons/mail/HtmlEmailTest.java b/src/test/java/org/apache/commons/mail/HtmlEmailTest.java index 3e26ff7df..4c8867a4c 100644 --- a/src/test/java/org/apache/commons/mail/HtmlEmailTest.java +++ b/src/test/java/org/apache/commons/mail/HtmlEmailTest.java @@ -27,9 +27,9 @@ import java.net.URL; import java.util.List; -import javax.activation.DataSource; -import javax.activation.FileDataSource; -import javax.mail.internet.MimeMessage; +import jakarta.activation.DataSource; +import jakarta.activation.FileDataSource; +import jakarta.mail.internet.MimeMessage; import org.apache.commons.mail.mocks.MockHtmlEmailConcrete; import org.apache.commons.mail.settings.EmailConfiguration; diff --git a/src/test/java/org/apache/commons/mail/ImageHtmlEmailTest.java b/src/test/java/org/apache/commons/mail/ImageHtmlEmailTest.java index 5f52098c6..dab39bf50 100644 --- a/src/test/java/org/apache/commons/mail/ImageHtmlEmailTest.java +++ b/src/test/java/org/apache/commons/mail/ImageHtmlEmailTest.java @@ -16,21 +16,9 @@ */ package org.apache.commons.mail; -import static org.junit.Assert.*; - -import org.apache.commons.io.FileUtils; -import org.apache.commons.io.IOUtils; -import org.apache.commons.mail.resolver.DataSourceClassPathResolver; -import org.apache.commons.mail.resolver.DataSourceCompositeResolver; -import org.apache.commons.mail.resolver.DataSourceUrlResolver; -import org.apache.commons.mail.mocks.MockImageHtmlEmailConcrete; -import org.apache.commons.mail.util.MimeMessageParser; -import org.apache.commons.mail.util.MimeMessageUtils; -import org.junit.Before; -import org.junit.Test; - -import javax.activation.DataSource; -import javax.mail.internet.MimeMessage; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; import java.io.File; import java.io.IOException; @@ -42,6 +30,19 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +import jakarta.activation.DataSource; +import jakarta.mail.internet.MimeMessage; +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; +import org.apache.commons.mail.mocks.MockImageHtmlEmailConcrete; +import org.apache.commons.mail.resolver.DataSourceClassPathResolver; +import org.apache.commons.mail.resolver.DataSourceCompositeResolver; +import org.apache.commons.mail.resolver.DataSourceUrlResolver; +import org.apache.commons.mail.util.MimeMessageParser; +import org.apache.commons.mail.util.MimeMessageUtils; +import org.junit.Before; +import org.junit.Test; + public class ImageHtmlEmailTest extends HtmlEmailTest { private static final boolean TEST_IS_LENIENT = true; @@ -499,8 +500,8 @@ public MockDataSourceClassPathResolver(final String classPathBase, final boolean @Override public DataSource resolve(final String resourceLocation, final boolean isLenient) throws IOException { - final javax.mail.util.ByteArrayDataSource ds = - (javax.mail.util.ByteArrayDataSource) super.resolve(resourceLocation, isLenient); + final jakarta.mail.util.ByteArrayDataSource ds = (jakarta.mail.util.ByteArrayDataSource) super.resolve( + resourceLocation, isLenient); ds.setName(null); return ds; } diff --git a/src/test/java/org/apache/commons/mail/InvalidInternetAddressTest.java b/src/test/java/org/apache/commons/mail/InvalidInternetAddressTest.java index 3c609de7b..e5e42a8cd 100644 --- a/src/test/java/org/apache/commons/mail/InvalidInternetAddressTest.java +++ b/src/test/java/org/apache/commons/mail/InvalidInternetAddressTest.java @@ -21,7 +21,7 @@ import java.lang.reflect.Method; -import javax.mail.internet.InternetAddress; +import jakarta.mail.internet.InternetAddress; import org.junit.Before; import org.junit.Test; diff --git a/src/test/java/org/apache/commons/mail/MultiPartEmailTest.java b/src/test/java/org/apache/commons/mail/MultiPartEmailTest.java index 612b1fb6d..5a2a47a1e 100644 --- a/src/test/java/org/apache/commons/mail/MultiPartEmailTest.java +++ b/src/test/java/org/apache/commons/mail/MultiPartEmailTest.java @@ -25,9 +25,9 @@ import java.util.HashMap; import java.util.Map; -import javax.activation.FileDataSource; -import javax.activation.URLDataSource; -import javax.mail.internet.MimeMultipart; +import jakarta.activation.FileDataSource; +import jakarta.activation.URLDataSource; +import jakarta.mail.internet.MimeMultipart; import org.apache.commons.mail.mocks.MockMultiPartEmailConcrete; import org.junit.Before; diff --git a/src/test/java/org/apache/commons/mail/SendWithAttachmentsTest.java b/src/test/java/org/apache/commons/mail/SendWithAttachmentsTest.java index 17e9be581..9653010ca 100644 --- a/src/test/java/org/apache/commons/mail/SendWithAttachmentsTest.java +++ b/src/test/java/org/apache/commons/mail/SendWithAttachmentsTest.java @@ -20,7 +20,7 @@ import java.io.IOException; import java.net.URL; -import javax.mail.internet.MimeUtility; +import jakarta.mail.internet.MimeUtility; import org.apache.commons.mail.mocks.MockHtmlEmailConcrete; import org.apache.commons.mail.settings.EmailConfiguration; diff --git a/src/test/java/org/apache/commons/mail/mocks/MockEmailConcrete.java b/src/test/java/org/apache/commons/mail/mocks/MockEmailConcrete.java index 63e6fe639..33fc165c1 100644 --- a/src/test/java/org/apache/commons/mail/mocks/MockEmailConcrete.java +++ b/src/test/java/org/apache/commons/mail/mocks/MockEmailConcrete.java @@ -16,10 +16,10 @@ */ package org.apache.commons.mail.mocks; -import javax.mail.Authenticator; -import javax.mail.Session; -import javax.mail.internet.MimeMessage; -import javax.mail.internet.MimeMultipart; +import jakarta.mail.Authenticator; +import jakarta.mail.Session; +import jakarta.mail.internet.MimeMessage; +import jakarta.mail.internet.MimeMultipart; import org.apache.commons.mail.Email; import org.apache.commons.mail.EmailException; diff --git a/src/test/java/org/apache/commons/mail/mocks/MockHtmlEmailConcrete.java b/src/test/java/org/apache/commons/mail/mocks/MockHtmlEmailConcrete.java index fc0d15794..714ef85c7 100644 --- a/src/test/java/org/apache/commons/mail/mocks/MockHtmlEmailConcrete.java +++ b/src/test/java/org/apache/commons/mail/mocks/MockHtmlEmailConcrete.java @@ -17,8 +17,8 @@ package org.apache.commons.mail.mocks; import java.io.IOException; -import javax.mail.MessagingException; -import javax.mail.internet.InternetAddress; +import jakarta.mail.MessagingException; +import jakarta.mail.internet.InternetAddress; import org.apache.commons.mail.HtmlEmail; diff --git a/src/test/java/org/apache/commons/mail/mocks/MockImageHtmlEmailConcrete.java b/src/test/java/org/apache/commons/mail/mocks/MockImageHtmlEmailConcrete.java index 40d62d941..e0d7d411f 100644 --- a/src/test/java/org/apache/commons/mail/mocks/MockImageHtmlEmailConcrete.java +++ b/src/test/java/org/apache/commons/mail/mocks/MockImageHtmlEmailConcrete.java @@ -19,7 +19,7 @@ import org.apache.commons.mail.ImageHtmlEmail; import java.io.IOException; -import javax.mail.MessagingException; +import jakarta.mail.MessagingException; /** * Extension of the ImageHtmlEmail Class diff --git a/src/test/java/org/apache/commons/mail/mocks/MockMultiPartEmailConcrete.java b/src/test/java/org/apache/commons/mail/mocks/MockMultiPartEmailConcrete.java index f6b3aed93..0711987c6 100644 --- a/src/test/java/org/apache/commons/mail/mocks/MockMultiPartEmailConcrete.java +++ b/src/test/java/org/apache/commons/mail/mocks/MockMultiPartEmailConcrete.java @@ -18,8 +18,8 @@ import java.io.IOException; -import javax.mail.MessagingException; -import javax.mail.internet.InternetAddress; +import jakarta.mail.MessagingException; +import jakarta.mail.internet.InternetAddress; import org.apache.commons.mail.MultiPartEmail; diff --git a/src/test/java/org/apache/commons/mail/mocks/MockSimpleEmail.java b/src/test/java/org/apache/commons/mail/mocks/MockSimpleEmail.java index bdb92abc6..9dea641b2 100644 --- a/src/test/java/org/apache/commons/mail/mocks/MockSimpleEmail.java +++ b/src/test/java/org/apache/commons/mail/mocks/MockSimpleEmail.java @@ -16,7 +16,7 @@ */ package org.apache.commons.mail.mocks; -import javax.mail.internet.InternetAddress; +import jakarta.mail.internet.InternetAddress; import org.apache.commons.mail.SimpleEmail; diff --git a/src/test/java/org/apache/commons/mail/resolver/AbstractDataSourceResolverTest.java b/src/test/java/org/apache/commons/mail/resolver/AbstractDataSourceResolverTest.java index fc4caf96f..ee5c9d775 100644 --- a/src/test/java/org/apache/commons/mail/resolver/AbstractDataSourceResolverTest.java +++ b/src/test/java/org/apache/commons/mail/resolver/AbstractDataSourceResolverTest.java @@ -19,7 +19,7 @@ import java.io.IOException; import java.io.InputStream; -import javax.activation.DataSource; +import jakarta.activation.DataSource; import org.apache.commons.io.IOUtils; diff --git a/src/test/java/org/apache/commons/mail/util/IDNEmailAddressConverterTest.java b/src/test/java/org/apache/commons/mail/util/IDNEmailAddressConverterTest.java index d05a7544f..3fbfd05c7 100644 --- a/src/test/java/org/apache/commons/mail/util/IDNEmailAddressConverterTest.java +++ b/src/test/java/org/apache/commons/mail/util/IDNEmailAddressConverterTest.java @@ -18,7 +18,7 @@ import static org.junit.Assert.assertEquals; -import javax.mail.internet.InternetAddress; +import jakarta.mail.internet.InternetAddress; import org.junit.Test; diff --git a/src/test/java/org/apache/commons/mail/util/MimeMessageParserTest.java b/src/test/java/org/apache/commons/mail/util/MimeMessageParserTest.java index 5b507d439..41aa0745f 100644 --- a/src/test/java/org/apache/commons/mail/util/MimeMessageParserTest.java +++ b/src/test/java/org/apache/commons/mail/util/MimeMessageParserTest.java @@ -26,9 +26,9 @@ import java.util.List; import java.util.Properties; -import javax.activation.DataSource; -import javax.mail.Session; -import javax.mail.internet.MimeMessage; +import jakarta.activation.DataSource; +import jakarta.mail.Session; +import jakarta.mail.internet.MimeMessage; import org.apache.commons.mail.HtmlEmail; import org.junit.Test;