1

您好我正在尝试设置使用 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>

我错过了什么吗?

4

2 回答 2

0

假设您在 SSL 握手期间遇到异常,我会说您必须使用额外的旧 JDK,或者您配置的信任库有问题。

在没有任何自定义信任库配置的情况下尝试使用较新的 jdk,或者修改您的信任库以包含谷歌使用的 CA 证书。

您的配置看起来不错,对我有用。

于 2013-11-15T16:28:18.343 回答
0

与我使用它的方式相比有两个不同之处(当然,这对我来说很好)

1) 我使用的是 smtp.googlemail.com,所以试试

<remote-destination host="smtp.googlemail.com" port="465"/>

2)另外,可能并不重要,但我也设置了来自属性,就像这样

<mail-session jndi-name="java:/Mail" from="mygmailaccount@gmail.com">

兄弟,延斯

于 2013-11-15T08:50:35.337 回答