simple-java-mail icon indicating copy to clipboard operation
simple-java-mail copied to clipboard

`Mailer::close` attempts to access the batch module regardless of configuration

Open rzam opened this issue 1 year ago • 1 comments

It seems that attempting to close a non-async Mailer (either explicitly via .close() or implicitly via try-with) will cause it to throw a ModuleLoaderException.

Minimal working example:

// Gradle
dependencies {
    implementation("org.simplejavamail:simple-java-mail:8.12.2")
}
try (Mailer mailer = MailerBuilder
        .withSMTPServer("localhost", 25, null, null)
        .buildMailer()) {
    // Do nothing
}

Result:

Exception in thread "main" org.simplejavamail.internal.moduleloader.ModuleLoaderException: Batch module not found, make sure it is on the classpath (https://github.com/bbottema/simple-java-mail/tree/develop/modules/batch-module)
	at org.simplejavamail.internal.moduleloader.ModuleLoader.loadModule(ModuleLoader.java:133)
	at org.simplejavamail.internal.moduleloader.ModuleLoader.loadBatchModule(ModuleLoader.java:95)
	at org.simplejavamail.mailer.internal.MailerImpl.shutdownConnectionPool(MailerImpl.java:395)
	at org.simplejavamail.mailer.internal.MailerImpl.close(MailerImpl.java:474)
	at Test.main(Test.java:11)

rzam avatar Oct 17 '24 07:10 rzam

I thought I was had addressed this recently. I'll have a look.

bbottema avatar Oct 17 '24 07:10 bbottema

Fix released in 8.12.4.

bbottema avatar Dec 12 '24 19:12 bbottema