前言
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避免需要添加證書.