[bug] Mailer.close() exception because it attempts to shutdown batch-module connection pools, even if not available on the classpath
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)