Maileater Connection Issue over TLS/SSL
search cancel

Maileater Connection Issue over TLS/SSL

book

Article ID: 233396

calendar_today

Updated On:

Products

CA Service Management - Service Desk Manager

Issue/Introduction

Customer configuring a new email relay being configured with TLS and a certificate provided by the customer.

Emails remain in "mail_queue" folder

Maileater_nxd.log

2022-01-03 08:50:47:126 ERROR  [mailNxdActorSystem-akka.actor.default-dispatcher-31] c.c.S.m.NXJavaMailMailer - The transport is not connected or is dead.
javax.mail.MessagingException: Could not convert socket to TLS
 at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:2140)
 at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:734)
 at javax.mail.Service.connect(Service.java:342)
 at com.ca.ServicePlus.mail.connection.JavaMailSMTPClient.sendMessage(JavaMailSMTPClient.java:279)
 at com.ca.ServicePlus.mail.connection.JavaMailSMTPClient.sendMail(JavaMailSMTPClient.java:369)
 at com.ca.ServicePlus.mailer.NXJavaMailMailer.sendMailToMailServer(NXJavaMailMailer.java:154)
 at com.ca.ServicePlus.mailer.NXMailMailerActor.lambda$createReceive$1(NXMailMailerActor.java:116)
 at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:24)
 at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:20)
 at scala.PartialFunction.applyOrElse(PartialFunction.scala:189)
 at scala.PartialFunction.applyOrElse$(PartialFunction.scala:188)
 at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:20)
 at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:246)
 at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:247)
 at akka.actor.Actor.aroundReceive(Actor.scala:539)
 at akka.actor.Actor.aroundReceive$(Actor.scala:537)
 at akka.actor.AbstractActor.aroundReceive(AbstractActor.scala:227)
 at akka.actor.ActorCell.receiveMessage(ActorCell.scala:612)
 at akka.actor.ActorCell.invoke(ActorCell.scala:581)
 at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:268)
 at akka.dispatch.Mailbox.run(Mailbox.scala:229)
 at akka.dispatch.Mailbox.exec(Mailbox.scala:241)
 at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
 at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
 at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
 at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Caused by: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
 at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)
 at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:321)
 at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264)
 at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:259)
 at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:642)
 at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:461)
 at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:361)
 at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392)
 at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:448)
 at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:425)
 at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:178)
 at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164)
 at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1152)
 at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1063)
 at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:402)
 at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:602)
 at com.sun.mail.util.SocketFetcher.startTLS(SocketFetcher.java:529)
 at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:2135)
 ... 25 common frames omitted
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
 at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385)
 at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:290)
 at java.base/sun.security.validator.Validator.validate(Validator.java:264)
 at java.base/sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:321)
 at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:221)
 at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:129)
 at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:626)
 ... 38 common frames omitted
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
 at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
 at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
 at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)
 at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380)
 ... 44 common frames omitted
2022-01-03 08:50:47:126 DEBUG 13:50:46.741UTC [mailNxdActorSystem-akka.actor.default-dispatcher-28] c.c.S.m.MessageProcessorChildActor - Starting child actor instance hashcode #210645728
2022-01-03 08:50:47:126 DEBUG  [mailNxdActorSystem-akka.actor.default-dispatcher-34] c.c.S.m.MessageProcessorActorSystem - Remove mail queue file (Mail_6392_98.req) from in-progress list as processing is completed.
2022-01-03 08:50:47:126 DEBUG 13:50:46.741UTC [mailNxdActorSystem-akka.actor.default-dispatcher-28] c.c.S.m.MessageProcessorMasterActor - Should restart the child actor.
2022-01-03 08:50:47:127 WARN   [mailNxdActorSystem-akka.actor.default-dispatcher-34] c.c.S.m.c.PDMMailerUtil - Null Message received or message is already written to file.
2022-01-03 08:50:47:127 ERROR 13:50:46.741UTC [mailNxdActorSystem-akka.actor.default-dispatcher-28] a.actor.OneForOneStrategy - Failed to send the mail after trying with all the mail hosts.
javax.mail.SendFailedException: Failed to send the mail after trying with all the mail hosts.
 at com.ca.ServicePlus.mailer.NXJavaMailMailer.sendMailToMailServer(NXJavaMailMailer.java:179)
 at com.ca.ServicePlus.mailer.NXMailMailerActor.lambda$createReceive$1(NXMailMailerActor.java:116)
 at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:24)
 at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:20)
 at scala.PartialFunction.applyOrElse(PartialFunction.scala:189)
 at scala.PartialFunction.applyOrElse$(PartialFunction.scala:188)
 at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:20)
 at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:246)
 at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:247)
 at akka.actor.Actor.aroundReceive(Actor.scala:539)
 at akka.actor.Actor.aroundReceive$(Actor.scala:537)
 at akka.actor.AbstractActor.aroundReceive(AbstractActor.scala:227)
 at akka.actor.ActorCell.receiveMessage(ActorCell.scala:612)
 at akka.actor.ActorCell.invoke(ActorCell.scala:581)
 at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:268)
 at akka.dispatch.Mailbox.run(Mailbox.scala:229)
 at akka.dispatch.Mailbox.exec(Mailbox.scala:241)
 at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
 at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
 at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
 at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

Environment

Release : 17.3

Component : SDM - In-bound/Out-bound Mail

Cause

We saw a new strict enforcement of TLS from Gmail.

This previously worked correctly.

In order to restore functionality, we had to modify JavaMailSMTPClient.java to trust the host and connect using TLS 1.2.

Resolution

If a customer suspects they find this issue, please open a support case and have Support check if this matches DE61365

Additional Information

For information about Mail Notification connection problems, please see this link.