Hi.
The Java version of the site I manage has changed, causing a problem with
the HtmlEmail service using commons-email.

- Environment Before Change
    - jdk1.7
    - spring 4.0.9
    - commons-email 1.3.2

- Environment After Change
    - java17
    - spring 4.3.20

I used java17 so I downloaded commons-email2.
When I created and ran a simple application Java file on my local PC, I got
an error.

How do I solve this problem?
Is there any more libraries I need?
Is there a dependency issue between libraries?
I want to know how to reliably send out HtmlEmail from Java17.


Below is the classpath, source code, and error message.

- local test smtp server : MailHog_windows_386.exe

- SET CLASSPATH =
%CLASSPATH%;C:\lib\commons-email2-core-2.0.0-M1.jar;C:\lib\commons-email2-jakarta-2.0.0-M1.jar;C:\lib\commons-email2-javax-2.0.0-M1.jar;C:\lib\jakarta.mail-api-2.0.1.jar;C:\lib\jakarta.mail-activation-api-2.0.1.jar;.;


[HtmlEmail.java]  =================================

import org.apache.commons.mail2.core.*;
import org.apache.commons.mail2.jakarta.*;
import jakarta.mail.*;
import java.io.*;

public class HtmlEmailTest {

    public static void main(String args[]) {
       sendMail();
    }

    public static void sendMail() {

        try {
            HtmlEmail email = new HtmlEmail();
            email.setHostName("localhost");
            email.setSmtpPort(1025);
            email.addTo("tot...@test.co.kr","toName");
            email.setFrom("fro...@test.go.kr",fromName");
            email.setSubject("mail send test");
            email.setHtmlMsg("<html>test to send
EmailContents<br>content<br></html>");
            email.setTextMsg("support HTML messages");
            email.send();

        } catch (Exception e) {
             StringWriter sw = new StringWriter();
             PrintWriter pw = new PrintWriter(sw);
             e.printStackTrace(pw);
             System.out.println(sw.toString());
        }
    }
}

[error msg]  =================================

Exception in thread "main" java.lang.NoClassDefFoundError :
com.sun.mail.util.PropUtil
at jakarta.mail.internet.InternetAddress.<clinit>(InternetAddress.java:62)
at
org.apache.commons.mail2.jakarta.Email.createInternetAddress(Email.java:633)
at org.apache.commons.mail2.jakarta.Email.addTo(Email.java:491)
at org.apache.commons.mail2.jakarta.Email.addTo(Email.java:477)
at HtmlEmailTest.sendMail(HtmlEmailTest.java:35)

Reply via email to