diff --git a/modules/dumbster/src/org/labkey/dumbster/DumbsterModule.java b/modules/dumbster/src/org/labkey/dumbster/DumbsterModule.java index 08b1108723..0f2100d85d 100644 --- a/modules/dumbster/src/org/labkey/dumbster/DumbsterModule.java +++ b/modules/dumbster/src/org/labkey/dumbster/DumbsterModule.java @@ -20,6 +20,8 @@ import org.labkey.api.module.CodeOnlyModule; import org.labkey.api.module.ModuleContext; import org.labkey.api.settings.AppProps; +import org.labkey.api.util.MailHelper; +import org.labkey.api.util.SmtpTransportProvider; import org.labkey.api.view.BaseWebPartFactory; import org.labkey.api.view.Portal; import org.labkey.api.view.ViewContext; @@ -65,7 +67,7 @@ public WebPartView getWebPartView(@NotNull ViewContext portalCtx, @NotNull Po @Override public void doStartup(ModuleContext moduleContext) { - if (AppProps.getInstance().isMailRecorderEnabled()) + if (MailHelper.getActiveProvider() instanceof SmtpTransportProvider && AppProps.getInstance().isMailRecorderEnabled()) DumbsterManager.get().start(); } } \ No newline at end of file diff --git a/modules/dumbster/src/org/labkey/dumbster/model/DumbsterManager.java b/modules/dumbster/src/org/labkey/dumbster/model/DumbsterManager.java index 0e41a0e7a9..50f5e09026 100644 --- a/modules/dumbster/src/org/labkey/dumbster/model/DumbsterManager.java +++ b/modules/dumbster/src/org/labkey/dumbster/model/DumbsterManager.java @@ -23,6 +23,7 @@ import org.labkey.api.util.ContextListener; import org.labkey.api.util.MailHelper; import org.labkey.api.util.ShutdownListener; +import org.labkey.api.util.SmtpTransportProvider; import org.labkey.api.util.StringUtilsLabKey; import jakarta.mail.MessagingException; @@ -60,6 +61,12 @@ public static void setInstance(DumbsterManager instance) public boolean start() { + if (!(MailHelper.getActiveProvider() instanceof SmtpTransportProvider)) + { + _log.error("Mail recorder cannot be started: active mail provider is not SmtpTransportProvider"); + return false; + } + if (_server != null && !_server.isStopped()) { // We're already running, no need to spin up another, but reset the list of messages @@ -96,7 +103,7 @@ public boolean start() Session session = Session.getInstance(props); _log.info("Switching MailHelper to use port " + port); - MailHelper.setSession(session); + MailHelper.setSmtpSession(session); _log.info("Connecting mail recorder to port " + port); _server = SimpleSmtpServer.start(port); @@ -117,7 +124,7 @@ public void stop() if (_server != null) { _log.info("Reverting MailHelper to " + AppProps.getInstance().getWebappConfigurationFilename() + " configuration"); - MailHelper.setSession(null); + MailHelper.setSmtpSession(null); _server.stop(); ContextListener.removeShutdownListener(this);