前言
JavaMail在之前使用过程中始终会遇见一个问题,发送不成功,https协议问题。因为mail发送默认是http。JavaMail现在包括一个特殊的SSL套接字工厂可以简化处理带有自签名证书的服务器。这类com.sun.mail.util.mailsslsocketfactory可以作为简单的套接字工厂,允许信任所有的主机或一个特定的主机。
代码
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
// sf.setTrustedHosts(new String[] { "my-server" });
props.put("mail.smtp.ssl.enable", "true");
// 还可以使用下列额外的安全措施
//props.put("mail.smtp.ssl.checkserveridentity", "true");
props.put("mail.smtp.ssl.socketFactory", sf);
您的密钥库如上所述,使用mailsslsocketfactory避免需要添加证书.