2017-08-01 151 views
0

我正在使用Mirth Connect 3.4.2.8129。我試圖得到一個SMTP發送者的工作,但我發現了以下異常: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。

我還能檢查什麼?

回答

1

For Mirth社區版本(不含ssl插件):

嘗試使用Java信任存儲。您可以直接在JAVA中管理證書。

路徑\ lib \ security中\ cacerts中 (例如:C:\ Program Files文件\的Java \ jre1.8.0_131 \ lib \ security中\ cacerts中)

FYI:歡樂密鑰庫將成爲下APPDATA keystore.jks (例如:C:\ Program Files \ Mirth Connect 342 \ appdata)