我正在使用 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 应用程序,它使用相同的设置和属性并成功发送消息。
似乎 Mirth 正在使用不同的信任库,但从我读过的内容来看,3.1+ 使用默认值。C:\Program Files\Mirth Connect\appdata 目录中没有 truststore.jks。
我还能检查什么?