- 浏览: 1155253 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (411)
- ASP (6)
- ASP.NET (2)
- CSS (4)
- HTML (11)
- Javascript (34)
- Java (100)
- PHP (1)
- XML (2)
- Flash/Flex/AS (1)
- 编程理论 (6)
- 操作系统 (23)
- 架构与搭建 (13)
- 软件应用 (39)
- 移动开发及应用 (4)
- UI设计 (2)
- 数据库 (23)
- 围棋 (1)
- 闲语茶楼 (6)
- 金融 (1)
- 其他 (3)
- Linux/Unix (38)
- 项目管理 (3)
- cmd (2)
- ssh (3)
- SVN (1)
- 移动开发 (1)
- HTML5 (1)
- jquery (1)
- redis (1)
- nginx (2)
- webservice (1)
- vmware (1)
- ssl (1)
- eclipse (1)
- sqlite (1)
- spring (2)
最新评论
-
cnhome:
Java 8 下:// 编码String asB64 = Ba ...
不要使用sun.misc.BASE64Encoder -
请叫我翠西狗:
那如果我要用this.getServletContext() ...
JSP/Servlet使用代理或路由器映射时获取服务器地址为内网地址 -
nomblouder:
按照别的博客,别名一直是p4merge,导致一直报错comma ...
win与linux下git配置p4merge为合并比较工具的方法 -
linuxzhang:
请问我按你的方法修改了sts-3.7.3.RELEASE中的o ...
Eclipse中setter/getter方法自动添加属性注释 -
yzh__:
求解答。。。
Struts2定义默认拦截器时需要注意
客户给的邮件服务器要SSL,使用Spring的JavaMailSenderImpl,Spring配置如下
<bean id="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host" value="${mail.smtp.host}" /> <property name="username" value="${mail.smtp.username}" /> <property name="password" value="${mail.smtp.password}" /> <property name="port" value="${mail.smtp.port}" /> <property name="javaMailProperties"> <props> <prop key="mail.smtp.timeout">${mail.smtp.timeout}</prop> <prop key="mail.smtp.auth">${mail.smtp.auth}</prop> <prop key="mail.smtp.starttls.enable">${mail.smtp.starttls.enable}</prop> <prop key="mail.smtp.socketFactory.port">${mail.smtp.port}</prop> <prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop> <prop key="mail.smtp.socketFactory.fallback">false</prop> </props> </property> </bean>
mail.properties内容如下
mail.smtp.host=smtp.xyz.com
mail.smtp.port=465
mail.smtp.username=alerts+abc.net
mail.smtp.password=12345678
mail.smtp.auth=true
mail.smtp.starttls.enable=true
mail.smtp.timeout=50000
mail.from=alerts@abc.net
mail.replyTo=alerts@abc.net
发送邮件时得到异常如下
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 org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:419)
at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:342)
Caused by: javax.mail.MessagingException: Exception reading response;
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.readServerResponse(SMTPTransport.java:1462)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1260)
... 4 more
Caused by: 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.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1611)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:187)
... 8 more
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:285)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:191)
at sun.security.validator.Validator.validate(Validator.java:218)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209)
... 20 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238)
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:280)
... 26 more
Google一下,需要保存安装证书
官方的QA http://java.sun.com/products/javamail/FAQ.html#installcert
Q: When connecting to my mail server over SSL I get an exception like "unable to find valid certification path to requested target".
A: Your server is probably using a test certificate or self-signed certificate instead of a certificate signed by a commercial Certificate Authority. You'll need to install the server's certificate into your trust store. The InstallCert program will help.
在这里 http://blogs.sun.com/andreas/entry/no_more_unable_to_find 有解决方案
用 http://blogs.sun.com/andreas/resource/InstallCert.java 的代码来安装证书
运行 java InstallCert smtp.xyz.com:465
得到jssecacerts文件后复制到jdk1.6.0_14\jre\lib\security目录
然后再发送邮件就OK了
附件是 InstallCert.java
- InstallCert.zip (2.5 KB)
- 下载次数: 160
评论
SSLSocket socket = (SSLSocket)factory.createSocket(host, port);
上面这句话 报 Exception in thread "main" java.net.ConnectException: Connection timed out: connect错误。
发表评论
-
Maven使用mvn命令时跳过test的参数
2015-05-28 11:24 1677方法有两种: 方法1: mvn install -Dsk ... -
Spring中Propagation类的事务属性区别
2014-12-08 14:50 1904PROPAGATION_REQUIRED:支持当前事务,如果 ... -
Spring AOP中pointcut expression表达式解析
2014-08-27 15:39 3381Pointcut 是指那些方法需要被执行"AOP& ... -
用正则表达式替换手机号为星号*的写法
2014-08-11 15:43 9984现在网络越来越关注一些隐私,比如手机号隐藏当中的若干位数字 ... -
java使用相对路径连接sqlite
2014-08-01 15:48 6844在sqlite的连接源码中,可以看到 :resource: ... -
Eclipse中setter/getter方法自动添加属性注释
2014-08-01 12:11 16522这篇文章以前在公司内网发的,到现在也一直有用,发上来分享给有 ... -
memcached-session-manager配置
2014-07-09 18:01 922声明:本篇文章是根据memcach ... -
使用java原生url连接传输protobuf
2014-06-26 18:16 1420protobuf已经出来好多年了,原谅我最近才了解到goo ... -
Tomcat内存、连接数等性能参数设置
2014-02-20 14:37 16771、修改启动时内存参数、并指定JVM时区 (在windows ... -
使用JSP列出所有运行中的线程
2013-07-29 10:06 1014<html> <head> &l ... -
JVM系列五:JVM监测&工具[整理中]
2013-05-10 10:34 1102前几篇篇文章介绍了介绍了JVM的参数设置并给 ... -
JVM系列四:生产环境参数实例及分析【生产环境实例增加中】
2013-05-10 10:32 1200java application项目(非web项目) 改进 ... -
JVM系列三:JVM参数设置、分析
2013-05-10 10:30 977不管是YGC还是Full GC,GC过程中都 ... -
JVM系列二:GC策略&内存申请、对象衰老
2013-05-10 10:19 999JVM里的GC(Garbage Collec ... -
JVM系列一:JVM内存组成及分配
2013-05-10 10:14 1050java内存组成介绍:堆(Heap)和非堆(Non-h ... -
jenkins配置权限不对导致无法登陆的重置方法
2013-04-20 20:43 25285找到.jenkins/config.xml文件: 替换为: ... -
Spring3中替换默认拦截器的方法BeanFactoryPostProcessor
2012-08-14 16:51 4005由于Spring默认的静态资源处理器不能满足需求,需要做一些自 ... -
Hessian 权限认证
2012-08-07 11:23 1473Hessian 权限认证 Hessian的一些基本简介已经在上 ... -
利用java 6.0的脚本引擎执行字符串表达式运算
2012-08-06 23:09 1396例子都在这里了:http://www.java2s.com/C ... -
在spring、tomcat中使用多数据源并支持分布式事务管理
2012-08-06 22:10 2581原文:http://zxlaiye.iteye.c ...
相关推荐
NULL 博文链接:https://surpass-li.iteye.com/blog/1100515
JavaMAIL小型服务器 Java邮件服务器。。很好用
javamail发送、接收邮件详细教程
JavaMail(JAVA邮件服务器)API详解 chm,内容涉及JavaMail API简介、相关协议一览、安装JavaMail、认识和使用JavaMail API等相关内容。
javamail服务器构建jar包,有smtp和POP3
javaMail 如果需要ssl加密处理的,建议使用chilkat,如果你是牛人,那你自己实现,其实张孝详老师写过一本关于javamail的书籍,大家可以参考,但是对于邮件加密这块没有做太多说明,java网络编程这本书中,对ssl加密...
JavaMail 配置文档,里面有各个jar包的说明
本文描述如何使用James搭建具备一定邮件过滤、邮件操作功能的邮件服务器,以及使用Javamail实现对James服务器邮件的收发功能。
电子邮件在我们的日常工作生活中使用地越来越普遍,JAVA邮箱服务器搭建,适合小型企业搭建自己的企业邮箱服务器,简单易学!免费开源的,适合想学习邮箱服务器搭建的同学,拥有自己的邮箱服务器。在邮件系统中至关...
linux服务器报警—使用javamail
javamail问题及解决方案源码
JavaMail API详解.txt JavaMail API详解.txt JavaMail API详解.txt JavaMail API详解.txt
JavaMail开发服务器和JAR包练习有助于学习邮件开发在管理系统中不可或缺
javamail的jar包:javamail-1.6; javamail的jar包:javamail-1.6
Mail API 的所有版本都需要 JavaBeans Activation Framework 来支持任意数据块的输入及相应处理。功能似乎不多,但目前许多浏览器和邮件工具中都能找到这种基本的 MIME 型支持。activation.jar 文件就是JAF的框架jar...
javaMail javaMail javaMail javaMail javaMail javaMail javaMail
javamail开发,带图形界面,邮件的发送,接收,带附件,html,邮件解析