More email connector blues.

1
Hi all, Currently migrating to Email Connector from Email with Templates, and I'm getting the following error when I try to configure a new email account (using Azure AD OAuth). The OAuth flow seems to be completing successfully, but when the "CheckServerConnection" java action is called, it throws the following. I'm wondering if something isn't being compiled correctly? This happens and causes the OAuth Callback Rest action to return a 500 error, which breaks the rest of the flow and doesn't log anything. An unexpected error occurred while handling REST request  -------- java.util.ServiceConfigurationError: jakarta.mail.Provider: com.sun.mail.imap.IMAPProvider not a subtype     at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588)     at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1236)     at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1264)     at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1299)     at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1384)     at jakarta.mail.Session.loadProviders(Session.java:964)     at jakarta.mail.Session.<init>(Session.java:254)     at jakarta.mail.Session.getInstance(Session.java:281)     at org.simplejavamail.mailer.internal.MailerImpl.createMailSession(MailerImpl.java:187)     at org.simplejavamail.mailer.internal.MailerImpl.<init>(MailerImpl.java:134)     at org.simplejavamail.mailer.internal.MailerImpl.<init>(MailerImpl.java:119)     at org.simplejavamail.mailer.internal.MailerRegularBuilderImpl.buildMailer(MailerRegularBuilderImpl.java:210)     at com.mendix.datahub.connector.email.service.SendEmailHandler.setConnectionInfo(SendEmailHandler.java:206)     at com.mendix.datahub.connector.email.service.SMTPEmail.isConnected(SMTPEmail.java:23)     at com.mendix.datahub.connector.email.service.EmailServiceWorker.isConnected(EmailServiceWorker.java:98)     at email_connector.actions.CheckServerConnection.checkOutgoingServerConnection(CheckServerConnection.java:108)     at email_connector.actions.CheckServerConnection.executeAction(CheckServerConnection.java:52)     at email_connector.actions.CheckServerConnection.executeAction(CheckServerConnection.java:29)     at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:58)     at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.doCall(CoreActionHandlerImpl.scala:71)     at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.call(CoreActionHandlerImpl.scala:48)     at com.mendix.core.actionmanagement.internal.InternalCoreAction.call(InternalCoreAction.java:56)     at com.mendix.basis.actionmanagement.ActionManager.$anonfun$executeSync$2(ActionManager.scala:106)     at com.mendix.util.classloading.Runner$.withContextClassLoader(Runner.scala:20)     at com.mendix.basis.actionmanagement.ActionManager.executeSync(ActionManager.scala:105)     at com.mendix.basis.actionmanagement.UserActionCallBuilderImpl.execute(UserActionCallBuilderImpl.scala:57)     at com.mendix.modules.microflowengine.actions.actioncall.ForegroundJavaAction.doExecute(ForegroundJavaAction.scala:35)     at com.mendix.modules.microflowengine.actions.actioncall.ForegroundJavaAction.doExecute(ForegroundJavaAction.scala:11)     at com.mendix.modules.microflowengine.actions.actioncall.JavaAction.execute(JavaAction.scala:38)     at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.$anonfun$execute$1(MicroflowObject.scala:32)     at scala.Option.flatMap(Option.scala:283)     at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.execute(MicroflowObject.scala:29)     at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.$anonfun$executeAfterBreakingIfNecessary$2(MicroflowImpl.scala:167)     at scala.Option.flatMap(Option.scala:283)     at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAfterBreakingIfNecessary(MicroflowImpl.scala:167)     at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAction(MicroflowImpl.scala:114)     at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:58)     at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.doCall(CoreActionHandlerImpl.scala:71)     at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.call(CoreActionHandlerImpl.scala:48)     at com.mendix.core.actionmanagement.internal.InternalCoreAction.call(InternalCoreAction.java:56)     at com.mendix.basis.actionmanagement.ActionManager.$anonfun$executeSync$2(ActionManager.scala:106)     at com.mendix.util.classloading.Runner$.withContextClassLoader(Runner.scala:20)     at com.mendix.basis.actionmanagement.ActionManager.executeSync(ActionManager.scala:105)     at com.mendix.basis.component.ExecutionCore.doExecuteSync(ExecutionCore.scala:148)     at com.mendix.basis.component.ExecutionCore.doExecuteSync$(ExecutionCore.scala:147)     at com.mendix.basis.component.InternalCore.doExecuteSync(InternalCore.scala:24)     at com.mendix.basis.component.ExecutionCore.executeSync(ExecutionCore.scala:97)     at com.mendix.basis.component.ExecutionCore.executeSync$(ExecutionCore.scala:94)     at com.mendix.basis.component.InternalCore.executeSync(InternalCore.scala:24)     at com.mendix.modules.microflowengine.MicroflowExecuter$.executeSync(MicroflowExecuter.scala:19)     at com.mendix.modules.microflowengine.actions.SubMicroflowAction.execute(SubMicroflowAction.scala:37)     at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.$anonfun$execute$1(MicroflowObject.scala:32)     at scala.Option.flatMap(Option.scala:283)     at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.execute(MicroflowObject.scala:29)     at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.$anonfun$executeAfterBreakingIfNecessary$2(MicroflowImpl.scala:167)     at scala.Option.flatMap(Option.scala:283)     at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAfterBreakingIfNecessary(MicroflowImpl.scala:167)     at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAction(MicroflowImpl.scala:114)     at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:58)     at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.doCall(CoreActionHandlerImpl.scala:71)     at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.call(CoreActionHandlerImpl.scala:48)     at com.mendix.core.actionmanagement.internal.InternalCoreAction.call(InternalCoreAction.java:56)     at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.$anonfun$runMonitoredAction$1(CoreActionHandlerImpl.scala:59)     at com.mendix.basis.actionmanagement.ActionMonitoring$.$anonfun$monitor$1(ActionMonitoring.scala:49)     at com.mendix.util.classloading.Runner$.withContextClassLoader(Runner.scala:20)     at com.mendix.basis.actionmanagement.ActionMonitoring$.monitor(ActionMonitoring.scala:49)     at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.runMonitoredAction(CoreActionHandlerImpl.scala:59)     at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.call(CoreActionHandlerImpl.scala:46)     at com.mendix.core.actionmanagement.internal.InternalCoreAction.call(InternalCoreAction.java:56)     at com.mendix.basis.actionmanagement.ActionManager.$anonfun$executeSync$2(ActionManager.scala:106)     at com.mendix.util.classloading.Runner$.withContextClassLoader(Runner.scala:20)     at com.mendix.basis.actionmanagement.ActionManager.executeSync(ActionManager.scala:105)     at com.mendix.basis.actionmanagement.MicroflowCallBuilderImpl.execute(MicroflowCallBuilderImpl.scala:62)     at com.mendix.integration.internal.InternalIntegration.executeMicroflow(InternalIntegration.scala:69)     at com.mendix.integration.internal.InternalIntegration.executeMicroflow$(InternalIntegration.scala:62)     at com.mendix.integration.internal.InternalIntegrationImpl.executeMicroflow(InternalIntegrationImpl.scala:37)     at com.mendix.integration.rest.publish.RestOperationProcessors.$anonfun$executeMicroflow$1(RestOperationProcessors.scala:232)     at scala.util.Try$.apply(Try.scala:210)     at com.mendix.integration.rest.publish.RestOperationProcessors.executeMicroflow(RestOperationProcessors.scala:229)     at com.mendix.integration.rest.publish.RestOperationProcessors.$anonfun$getMicroflowResult$1(RestOperationProcessors.scala:200)     at scala.util.Success.flatMap(Try.scala:258)     at com.mendix.integration.rest.publish.RestOperationProcessors.getMicroflowResult(RestOperationProcessors.scala:200)     at com.mendix.integration.rest.publish.RestOperationProcessors.$anonfun$operationResponse$5(RestOperationProcessors.scala:132)     at com.mendix.basis.actionmanagement.ActionMonitoring$.$anonfun$monitor$1(ActionMonitoring.scala:49)     at com.mendix.util.classloading.Runner$.withContextClassLoader(Runner.scala:20)     at com.mendix.basis.actionmanagement.ActionMonitoring$.monitor(ActionMonitoring.scala:49)     at com.mendix.integration.rest.publish.RestOperationProcessors.$anonfun$operationResponse$4(RestOperationProcessors.scala:130)     at com.mendix.integration.rest.publish.RestOperationProcessors.withSystemContext(RestOperationProcessors.scala:138)     at com.mendix.integration.rest.publish.RestOperationProcessors.$anonfun$operationResponse$2(RestOperationProcessors.scala:124)     at com.mendix.integration.rest.publish.RestOperationProcessors.operationResponse(RestOperationProcessors.scala:128)     at com.mendix.integration.rest.publish.RestOperationProcessors.processOperations(RestOperationProcessors.scala:87)     at com.mendix.integration.rest.publish.RestOperationProcessors.$anonfun$createProcessor$1(RestOperationProcessors.scala:64)     at com.mendix.integration.rest.publish.PathProcessors.$anonfun$process$1(PathProcessors.scala:35)     at scala.collection.Iterator$$anon$10.nextCur(Iterator.scala:587)     at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:601)     at scala.collection.Iterator.nextOption(Iterator.scala:102)     at scala.collection.Iterator.nextOption$(Iterator.scala:102)     at scala.collection.AbstractIterator.nextOption(Iterator.scala:1293)     at com.mendix.integration.util.IteratorUtil$RichIterable$.firstDefined$extension(IteratorUtil.scala:27)     at com.mendix.integration.rest.publish.PathProcessors.process(PathProcessors.scala:31)     at com.mendix.integration.rest.publish.PathProcessors.process$(PathProcessors.scala:30)     at com.mendix.integration.rest.publish.RestOperationProcessors.process(RestOperationProcessors.scala:44)     at com.mendix.integration.requesthandlers.RestRequestHandler.$anonfun$processRequest$1(RestRequestHandler.scala:42)     at scala.collection.Iterator$$anon$10.nextCur(Iterator.scala:587)     at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:601)     at scala.collection.Iterator.nextOption(Iterator.scala:102)     at scala.collection.Iterator.nextOption$(Iterator.scala:102)     at scala.collection.AbstractIterator.nextOption(Iterator.scala:1293)     at com.mendix.integration.util.IteratorUtil$RichIterable$.firstDefined$extension(IteratorUtil.scala:27)     at com.mendix.integration.requesthandlers.RestRequestHandler.processRequest(RestRequestHandler.scala:42)     at com.mendix.externalinterface.connector.RequestHandler.doProcessRequest(RequestHandler.java:37)     at com.mendix.external.connector.MxRuntimeConnector.$anonfun$processRequest$1(MxRuntimeConnector.scala:50)     at com.mendix.external.connector.MxRuntimeConnector.$anonfun$processRequest$1$adapted(MxRuntimeConnector.scala:50)     at com.mendix.util.classloading.Runner$.withContextClassLoader(Runner.scala:20)     at com.mendix.external.connector.MxRuntimeConnector.processRequest(MxRuntimeConnector.scala:50)     at com.mendix.basis.impl.MxRuntimeImpl.processRequest(MxRuntimeImpl.scala:229)     at com.mendix.m2ee.appcontainer.server.handler.RuntimeServlet.service(RuntimeServlet.scala:32)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:750)     at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)     at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1665)     at org.eclipse.jetty.websocket.servlet.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:170)     at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:202)     at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)     at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527)     at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)     at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1571)     at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)     at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1378)     at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)     at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)     at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1544)     at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)     at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1300)     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)     at org.eclipse.jetty.server.Server.handle(Server.java:562)     at org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:505)     at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:762)     at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:497)     at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)     at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319)     at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)     at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)     at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:412)     at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:381)     at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:268)     at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(AdaptiveExecutionStrategy.java:138)     at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:407)     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)     at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)     at java.base/java.lang.Thread.run(Thread.java:834)  
asked
2 answers
0

Good day, Jamie.


 

This is most likely due to the presence of JARs of existing email modules in the userlib subdirectory. 

Recheck your work. 

particularly javax.mail-1.6.2.jar and activation-1.1.jar

 

More information may be found in the email connector documentation at https://docs.mendix.com/appstore/connectors/email-connector/#12-prerequisites.


 

Regards,

 

Goraksh

answered
0

Hi Jamie,

 

I will add that step to the documentation. Thanks for bringing this to our attention!

 

Johanna

answered