Я использую Mirth Connect 3.4.2.8129. Я пытаюсь заставить работать отправителя SMTP, но получаю следующее исключение:
SMTP Sender error
ERROR MESSAGE: Error sending email message
org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp10.phimail-dev.com:587
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1401)
at org.apache.commons.mail.Email.send(Email.java:1428)
at com.mirth.connect.connectors.smtp.SmtpDispatcher.send(SmtpDispatcher.java:248)
at com.mirth.connect.donkey.server.channel.DestinationConnector.handleSend(DestinationConnector.java:822)
at com.mirth.connect.donkey.server.channel.DestinationConnector.process(DestinationConnector.java:476)
at com.mirth.connect.donkey.server.channel.DestinationChain.doCall(DestinationChain.java:121)
at com.mirth.connect.donkey.server.channel.DestinationChain.call(DestinationChain.java:63)
at com.mirth.connect.donkey.server.channel.Channel.process(Channel.java:1715)
at com.mirth.connect.donkey.server.channel.Channel.dispatchRawMessage(Channel.java:1198)
at com.mirth.connect.donkey.server.channel.SourceConnector.dispatchRawMessage(SourceConnector.java:192)
at com.mirth.connect.server.controllers.DonkeyEngineController.dispatchRawMessage(DonkeyEngineController.java:1053)
at com.mirth.connect.server.controllers.DonkeyMessageController.reprocessMessages(DonkeyMessageController.java:442)
at com.mirth.connect.server.api.servlets.MessageServlet$3.run(MessageServlet.java:208)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.mail.MessagingException: Could not convert socket to TLS;
nested exception is:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:1907)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:666)
at javax.mail.Service.connect(Service.java:367)
at javax.mail.Service.connect(Service.java:226)
at javax.mail.Service.connect(Service.java:175)
at javax.mail.Transport.send0(Transport.java:253)
at javax.mail.Transport.send(Transport.java:124)
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1391)
Я установил сертификат, предоставленный в качестве места назначения, куда я отправляю, в C:\Program Files\Java\jre1.8.0_144\lib\security\cacerts. Я также создал простое Java-приложение, которое использует те же настройки и свойства и успешно отправляет сообщение.
Кажется, что Мирт использует другое хранилище доверия, но из того, что я читал, 3.1+ использует значение по умолчанию. В каталоге C:\Program Files\Mirth Connect\appdata нет файла truststore.jks.
Что еще я могу проверить?