您好我正在尝试设置使用gmail服务器的邮件服务。当我尝试运行测试时,我得到以下异常。
09:48:35,334 ERROR [stderr] (Thread-1 (HornetQ-client-global-threads-31702353))
javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com,
port: 465;
09:48:35,335 ERROR [stderr] (Thread-1 (HornetQ-client-global-threads-31702353))
nested exception is:
09:48:35,335 ERROR [stderr] (Thread-1 (HornetQ-client-global-threads-31702353))
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
这是我在standalone-full.xml中的配置
<mail-session jndi-name="java:/Mail">
<smtp-server ssl="true" outbound-socket-binding-ref="mail-smtp">
<login name="mygmailaccount@gmail.com" password="mypassword"/>
</smtp-server>
</mail-session>
<outbound-socket-binding name="mail-smtp">
<remote-destination host="smtp.gmail.com" port="465"/>
</outbound-socket-binding>
我错过了什么吗?
答案 0 :(得分:0)
与我使用它的方式相比有两点不同(当然,这对我来说很好)
1)我正在使用smtp.googlemail.com,请尝试
<remote-destination host="smtp.googlemail.com" port="465"/>
2)另外,可能不重要但我也设置了from-attribute,就像这个
<mail-session jndi-name="java:/Mail" from="mygmailaccount@gmail.com">
BR, 延
答案 1 :(得分:0)
鉴于您在SSL握手期间获得的异常,我会说您必须使用额外的旧JDK,或者您配置的信任库存在问题。
尝试使用更新的jdk&amp;没有任何自定义信任库配置,或修改您的信任库以包括谷歌使用的CA证书。
您的配置看起来很好,适合我。