It looks like you are missing a Jar from your classpath. You could use
Maven to build your project which will automatically resolve your
dependencies, then look at its debug output to see what class path it built.

Gary

On Sat, Aug 17, 2024, 4:48 AM 송희경 <iris422.s...@gmail.com> wrote:

>  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