我连接163邮箱测试。以下是我的代码。但是store.connect的时候就失败。如果port设置为143就OKSSL又什么不一样么?应该怎么写??//动态的添加securityproviderSecurity.addProvider(n...
我连接163 邮箱测试。
以下是我的代码。
但是store.connect 的时候 就失败。如果 port 设置为143 就OK
SSL 又什么不一样么?应该怎么写??
// 动态的添加security provider
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
// 下面的代码就是替换不同协议的socket factory
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
Properties props = System.getProperties();
props.setProperty("mail.imap.socketFactory.class", SSL_FACTORY);
//如果我们希望JavaMail只处理SSL的连接, 对于非SSL的连接不做处理, 那么我们最好设置fallback为false
props.setProperty("mail.imap.socketFactory.fallback", "false");
props.setProperty("mail.imap.port", port);
props.setProperty("mail.imap.socketFactory.port", port);
mailsession = Session.getDefaultInstance(props, null);
store = mailsession.getStore("imap");
try {
log.info("IMAP:SSL"+port+"开始连接");
store.connect(host, Integer.valueOf(port),username, StringUtils.decodeBase64(password));
} catch (Exception e) {
log.info("IMAP:SSL"+port+"连接失败");
log.info("e.getMessage()"+e.getMessage());
log.info(e);
}
展开