博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(更新)Java + 腾讯企业邮箱 + javamail + SSL 发送邮件
阅读量:6985 次
发布时间:2019-06-27

本文共 2383 字,大约阅读时间需要 7 分钟。

咳咳~最头疼的就是莫名其妙的错误。

本来今年6月份运行通过的代码,过俩月就报错了。

1 javax.mail.MessagingException: Could not connect to SMTP host: smtp.exmail.qq.com, port: 465;   2   nested exception is:   3     javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure   4     at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2102)   5     at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:699)   6     at javax.mail.Service.connect(Service.java:388)   7     at javax.mail.Service.connect(Service.java:246)   8     at javax.mail.Service.connect(Service.java:195)   9     at javax.mail.Transport.send0(Transport.java:254)  10     at javax.mail.Transport.send(Transport.java:124)  11     at com.genepoint.tool.EmailUtil$2.run(EmailUtil.java:78)  12 Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure  13     at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)  14     at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)  15     at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2023)  16     at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1125)  17     at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)  18     at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)  19     at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)  20     at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:598)  21     at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:372)  22     at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:238)  23     at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2066)  24     ... 7 more

经过在网上查阅得知,腾讯修改了邮箱的加密方式,一种方法呢比较简单。

官方

JCE 即 Java 加密扩展(JCE, Java Cryptography Extension),是一组提供加密、密钥生成、密码协议和消息认证码(MAC, Message Authentication Code)算法的框架和接口包,支持包括对称密码、不对称密码、分组密码、流密码。该软件还支持安全流和密封对象。

Java8影响邮件发送解决办法:

对应我的 Java 8 的版本,下载 JCE ,解压并将其中的两个 jar 包: local_policy.jar , US_export_policy.jar 复制到 %JAVA_HOME%\jre\lib\security 即可。

我尝试了一下,结果不好使你们知道吗!!然后我就怀疑是不是我改变了jre里面的文件没有同步的原因,

所以eclipse工程-》右键-》工程properties-》Java build path-》Libraries

先删除JRE SYSTEM,然后再添加

ok

运行程序试试--

邮箱查看

妈的终于好使了。

这里提一句,我的代码不用做任何改变,代码参照原版Javamail发邮件的文章

 

如果。。。如果这种方法不好使!可以跟我探讨一下吧,因为我也不是大牛牛,可以共同进步进步。

还有另外一种方法,不过看起来比较复杂

参见这篇文章--》

 

转载于:https://www.cnblogs.com/LUA123/p/6039954.html

你可能感兴趣的文章
Struts2 标签配置详细
查看>>
需求管理工具比较 Doors_Requistie Pro_RDM
查看>>
centos+php+nginx的php.ini无法加载的问题
查看>>
从菜鸟到专家的五步编程语言学习法
查看>>
RequestQueue
查看>>
Android TextView 属性设置
查看>>
html元素分类以及嵌套规则
查看>>
android dpi
查看>>
C语言的预处理、编译、汇编、链接
查看>>
魅族 C++ 微服务框架技术内幕揭秘
查看>>
flask 学习笔记 mvc ,sqlalchemy(insert,update)
查看>>
HTML基础(一)
查看>>
EGOImageView 解析
查看>>
我的友情链接
查看>>
1.解读REST和JAX-RS
查看>>
将RHEL7/centos7系统网卡名称eno16777736改为eth0
查看>>
Nginx域名跳转
查看>>
NTP时间服务器安装
查看>>
Thinkphp3.23 关联模型relation方法不存在解决方法
查看>>
bash脚本编程之一 条件判断及算术运算
查看>>