javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

在开发邮箱项目时,遇到了上述问题。原先邮箱项目是用网易邮箱做为发送邮箱的,后来因需要改成了QQ邮箱,本以为,只是不同的邮箱而以,只要改一下发送邮箱的配置就可以了,没想到遇到了很多问题。

第一个问题就是网易邮箱默认是不需要用ssl加密登录的,但QQ邮箱必须使用,所以必须要修改邮箱发送的代码,来支持ssl加密登录。

第二个问题,就是QQ邮箱发送时,不能用邮箱的登录密码,而是要在QQ邮箱中申请授权码,发送邮件时,在密码参数里写的就是这个授权码。

第三个问题,就是标题中的的错误。这个问题,卡了好久,找了好多资料都没有解决,因为方向不对,一直以为这是发送邮件的配置错误。后来无意中找到一偏资料才解决这个问题。

问题原因:是因为jdk1.8版本的安全机制有bug,因为QQ邮箱发送时用了ssl加密登录,会依赖jdk的安全机制,所以会报上述错误。

解决方案:

下载官方的jdk补丁包(也可以直接在本网站下载UnlimitedJCEPolicyJDK7.zip )

替换jdkjrelibsecurity目录里的jar即可

相关资料:http://www.oschina.net/question/2282830_247657

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新消息 消息中心
有新私信 私信列表
搜索